夜神模擬器使用mitmproxy和mitmdump筆記

Mitmproxy相關:
Q:過濾出不是200 的請求命令及返回原來的頁面命令。
輸入f後輸入!(~c 200)
把之前的命令還原後去除!(~c 200)

Q:過濾包含baidu.com的數據包:~d baidu.com

Q:過濾出post請求且url包含baidu的數據包。~m post & ~u baidu

斷點調試相關:輸入i
Q:攔截get請求且域名爲baidu.com的包:~m get & ~d baidu.com

Q:請求百度的url,結果響應出www.sohu.com的頁面:
1、~m get & ~d baidu.com後鼠標點入www.baidu.com,輸入e,進入request-headers欄,選中host欄按d刪除,按ESC退出。
2、再輸入e,選中url欄,輸入 https://www.sohu.com ,回車。
3、按q退出進入主頁面後按a繼續訪問。

Q:返回響應內容是自己輸入的某個字符串:先攔截包。隨後按e進入response-body,輸入隨意字符後按ESC,輸入:wq 退出,回到主頁面後按a繼續就可以看見頁面顯示自己的字符內容。

Mitmdump相關(端口號:8888):
Q:登錄Mitmdump並執行test.py:
輸入vim test.py —— 輸入想執行的代碼。
終端輸入:mitmproxy -p 8888 -s test.py

Q:訪問httpbin.org.get 隨後輸入能抓取它的請求頭並能以白色、黃色、紅色的字體來顯示。
終端輸入 vim test.py 或者直接打開test.py文件,隨後粘貼以下代碼:

from mitmproxy import ctx

def request(flow):
ctx.log.info(str(flow.request.headers))
ctx.log.warn(str(flow.request.headers))
ctx.log.error(str(flow.request.headers))

隨後終端輸入 mitmdump –p 8888 -s test.py
瀏覽器訪問網頁即可看到終端結果。

Q:安卓瀏覽器訪問http://httpbin.org/get即可獲得請求頭及3種顏色標註。

注意:有時用了window的mitmdump再用Linux的mitmdump,會使得原來的mitmproxy證書的ip發生改變,從而你在訪問網頁的時候彈出證書有問題的提示。你只瀏覽器需要訪問mitm.it把Android證書重新下載並安裝即可,可改名爲LinuxMitmproxy。

Q:執行test.py文件,輸出請求url,請求方法,請求主機頭,請求路徑。響應狀態碼和響應體。至少用3種以上的顏色做標記。

from mitmproxy import ctx

def request(flow):
ctx.log.info(str(flow.request.headers))
ctx.log.error(str(flow.request.url))
ctx.log.warn(str(flow.request.method))
ctx.log.info(str(flow.request.path))
ctx.log.error(str(flow.request.host))

def response(flow):
ctx.log.info(str(flow.response.status_code))
ctx.log.warn(str(flow.response.text))

Q:把mitmdump顯示的中文亂碼糾正過來(Ubuntu):終端-設定字符編碼-UTF-8。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章