<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          實(shí)戰(zhàn) | 手把手教你如何使用抓包神器 MitmProxy

          共 2775字,需瀏覽 6分鐘

           ·

          2021-04-29 14:38


          大家好,我是安果!


          今天教大家如何使用 MitmProxy 這款抓包工具


          玩爬蟲(chóng)的小伙伴都知道,抓包工具除了MitmProxy 外,還有 FiddlerCharles以及瀏覽器 netwrok 


          既然都有這么多抓包工具了,為什么還要會(huì)用 MitmProxy 呢??今天教大家使用 MitmProxy 抓包工具的原因,主要有以下幾點(diǎn):


          1. 不需要安裝軟件,直接在線(xiàn)(瀏覽器)進(jìn)行抓包(包括手機(jī)端和 PC 端)

          2. 配合 Python 腳本抓包改包

          3. 抓包過(guò)程的所有數(shù)據(jù)包都可以自動(dòng)保留到txt里面,方便過(guò)濾分析

          4. 使用相對(duì)簡(jiǎn)單,易上手



          1

          配置 MitmProxy


          MitmProxy可以說(shuō)是客戶(hù)端,也可以說(shuō)是一個(gè) python 庫(kù)


          方式一:客戶(hù)端

          https://mitmproxy.org/downloads/

          在這個(gè)地址下可以下載對(duì)應(yīng)的客戶(hù)端安裝即可



          方式二:Python庫(kù)


          pip install mitmproxy


          通過(guò)這個(gè) pip 命令可以下載好 MitmProxy,下面將會(huì)以 Python 庫(kù)的使用方式給大家講解如何使用(推薦方式二





          2

          啟動(dòng) MitmProxy


          MitmProxy 啟動(dòng)有三個(gè)命令(三種模式)


          1. mitmproxy,提供命令行界面

          2. mitmdump,提供一個(gè)簡(jiǎn)單的終端輸出(還可以配合Python抓包改包

          3. mitmweb,提供在線(xiàn)瀏覽器抓包界面


          mitmdump啟動(dòng)

          mitmdump -w d://lyc.txt



          這樣就啟動(dòng)mitmdump,接著在本地設(shè)置代理Ip是本機(jī)IP,端口8080



          安裝證書(shū)


          訪(fǎng)問(wèn)下面這個(gè)鏈接

          http://mitm.it/



          可以選擇自己的設(shè)備(window,或者Android、Apple設(shè)備去)安裝證書(shū)。



          然后隨便打開(kāi)一個(gè)網(wǎng)頁(yè),比如百度


          這里是因?yàn)樽C書(shū)問(wèn)題,提示訪(fǎng)問(wèn)百度提示https證書(shū)不安全,那么下面開(kāi)始解決這個(gè)問(wèn)題,因此就引出了下面的這種啟動(dòng)方式


          瀏覽器代理式啟動(dòng)


          哪一個(gè)瀏覽器都可以,下面以Chrome瀏覽器為例(其他瀏覽器操作一樣)


          先找到chrome瀏覽器位置,我的chrome瀏覽器位置如下圖




          通過(guò)下面命令啟動(dòng)

          "C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors


          --proxy-server是設(shè)置代理和端口

          --ignore-certificate-errors是忽略證書(shū)


          然后會(huì)彈出來(lái)Chrome瀏覽器,接著我們搜索知乎



          在cmd中就可以看到數(shù)據(jù)包



          這些文本數(shù)據(jù)可以在編程中進(jìn)行相應(yīng)的操作,比如可以放到python中進(jìn)行過(guò)來(lái)監(jiān)聽(tīng)處理


          3

          啟動(dòng) Mitmweb


          新開(kāi)一個(gè)cmd(終端)窗口,輸入下來(lái)命令啟動(dòng)mitmweb

          mitmweb



          之后會(huì)在瀏覽器自動(dòng)打開(kāi)一個(gè)網(wǎng)頁(yè)(其實(shí)手動(dòng)打開(kāi)也可以,地址就是:http://127.0.0.1:8081)



          現(xiàn)在頁(yè)面中什么也沒(méi)有,那下面我們?cè)谒⑿乱粋€(gè)知乎頁(yè)面


          重點(diǎn):關(guān)閉mitmproxy終端!關(guān)閉mitmproxy終端!關(guān)閉mitmproxy終端!


          如果不改變?cè)趍itmweb中獲取不到數(shù)據(jù),數(shù)據(jù)只在mitmproxy中,因此需要關(guān)閉mitmproxy這個(gè)命令終端


          刷新知乎頁(yè)面之后如下:




          在剛剛的網(wǎng)頁(yè)版抓包頁(yè)面就可以看到數(shù)據(jù)包了



          并且還包括https類(lèi)型,比如查看其中一個(gè)數(shù)據(jù)包,找到數(shù)據(jù)是對(duì)應(yīng)的,說(shuō)明抓包成功。




          4

          配合 Python 腳本


          mitmproxy代理(抓包)工具最強(qiáng)大之處在于對(duì)python腳步的支持(可以在python代碼中直接處理數(shù)據(jù)包)


          下面開(kāi)始演示,先新建一個(gè)py文件(lyc.py)

          from mitmproxy import ctx
          # 所有發(fā)出的請(qǐng)求數(shù)據(jù)包都會(huì)被這個(gè)方法所處理# 所謂的處理,我們這里只是打印一下一些項(xiàng);當(dāng)然可以修改這些項(xiàng)的值直接給這些項(xiàng)賦值即可def request(flow): # 獲取請(qǐng)求對(duì)象 request = flow.request # 實(shí)例化輸出類(lèi) info = ctx.log.info # 打印請(qǐng)求的url info(request.url) # 打印請(qǐng)求方法 info(request.method) # 打印host頭 info(request.host) # 打印請(qǐng)求端口 info(str(request.port)) # 打印所有請(qǐng)求頭部 info(str(request.headers)) # 打印cookie頭 info(str(request.cookies))# 所有服務(wù)器響應(yīng)的數(shù)據(jù)包都會(huì)被這個(gè)方法處理# 所謂的處理,我們這里只是打印一下一些項(xiàng)def response(flow): # 獲取響應(yīng)對(duì)象 response = flow.response # 實(shí)例化輸出類(lèi) info = ctx.log.info # 打印響應(yīng)碼 info(str(response.status_code)) # 打印所有頭部 info(str(response.headers)) # 打印cookie頭部 info(str(response.cookies)) # 打印響應(yīng)報(bào)文內(nèi)容 info(str(response.text))


          在終端中輸入一下命令啟動(dòng)

          mitmdump.exe -s lyc.py



          ???????(PS:這里需要通過(guò)另一個(gè)端啟動(dòng)瀏覽器)

          "C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors

          然后訪(fǎng)問(wèn)某個(gè)網(wǎng)站



          在終端中就可以看到信息




          這些信息就是我們?cè)?lyc.py 中指定的顯示信息



          PS:在手機(jī)上配置好代理之后,mitmproxy 同樣可以抓取手機(jī)端數(shù)據(jù)



          5

          小結(jié)

          1. 不需要安裝軟件,直接在線(xiàn)(瀏覽器)進(jìn)行抓包(包括手機(jī)端和 PC 端)

          2. 配合 Python 腳本抓包改包

          3. 抓包過(guò)程的所有數(shù)據(jù)包都可以自動(dòng)保留到 txt 里面,方便過(guò)濾分析

          4. 使用相對(duì)簡(jiǎn)單,易上手







          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操人网| 天天日天天操心 | 亚洲无吗视频在线观看 | 99久久人妻无码中文字幕系列 | 九九视频在线观看国产 |