如何抓取智力超人的數據包
02-24
Github項目地址個人博客
Fiddler監聽
- 下載Fiddler,根據教程搭建好抓包環境,最後一步手機上一定要安裝好FiddlerRoot證書。安卓手機一般在設置里的安全設置里從SD卡安裝證書。至此fiddler可以抓取到手上的https數據包。如果設置成功,打開微信智力超人可以抓取到下面圖中紅線框中的數據包。
- clone本倉庫到本地,記住下載位置,以「F:ProjectPythonwechatautoanswer」為例,各人各異。
- Fiddler添加腳本,將答題過程中的數據包保存到本地供程序讀取。 Fiddler菜單 >> Rules >> Customize Rules。在打開的文件中找到OnBeforeResponse這個方法,在方法末尾加上如下代碼:
if (oSession.fullUrl.Contains("quan.qq.com")){ oSession.utilDecodeResponse();//消除保存的請求可能存在亂碼的情況 var fso; var file; fso = new ActiveXObject("Scripting.FileSystemObject"); //文件保存路徑,可自定義 file = fso.OpenTextFile("F:\Project\Python\wechat_auto_answer\Session.txt",2 ,true, -2); file.writeLine(oSession.GetResponseBodyAsString()); file.close();}
OpenTextFile方法中的第一個參數為第二步項目所在位置,即指定Fiddler將數據包內容保存在項目目錄下的的Session.txt中。
4. 運行項目中auto_answer.py,打開智力超人開始對戰。程序會自動搜索題目,然後顯示搜索結果中各個答案出現的次數,以供判斷。
mitmproxy監聽
採用mitmproxy監聽可以直接在答題選項後面顯示搜索結果數,但由於智力超人在答題過程中不斷發起請求,可能造成題目搜索受到影響,從而造成選項搜索數都為0。
1. 安裝mitmproxy,手機配置好證書。2. window只能使用mitmdump命令,其他平台可以使用mitmproxy命令。3. 在項目根目錄執行命令:
Window:mitmdump -s listen.py Linux等:mitmproxy -s listen.py推薦閱讀:
※網路數據包的捕獲與分析
※抓包後才發現。。。| 泡泡白話
※charles抓不到餓了么的https的包 技術上如何實現的?
TAG:抓包 |