Android移動網絡如何抓取數據包

1)下載tcpdump工具shell

tcpdump(dump the traffic on a network)是Linux中強大的網絡數據採集分析工具之一,能夠將網絡中傳送的數據包頭徹底截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。Android系統是基於Linux,能夠使用tcpdump來抓取數據包。因爲普通用戶不能正常執行tcpdump,具有root權限的用戶才能夠直接執行它來獲取網絡上的信息,因此使用它的前提條件是:手機須要具有root權限。網絡

2)將下載好的tcpdump拷貝到手機tcp

adb push D:/tcpdump /data/local(將下載到D盤的tcpdump工具拷貝到/data/local目錄下)工具

3)修改文件權限spa

①經過命令修改文件權限日誌

adb shell chmod 777 /data/local (777表明目標文件或目錄是任何人均可以讀、寫、執行)blog

②經過RE文件管理器修改文件權限接口

 

4)使用tcpdump抓包qt

/data/local/tcpdump -p -vv -s 0 -w /sdcard/mycapture.pcap(網絡操做的log存入到/sdcard/mycapture.pcap下)軟件

 

tcpdump使用方法:

            tcpdump [ -adeflnqtv] [ -c 數量 ] [ -F 文件名 ][ -i 網絡接口 ] [ -r 文件名] [-s snaplen ] [ -T 類型 ] [ -w 文件名 ] [表達式 ]

tcpdump選項介紹:

        -a   將網絡地址和廣播地址轉變成名字;

   -d    將匹配信息包的代碼以人們可以理解的彙編格式給出;

   -dd     將匹配信息包的代碼以c語言程序段的格式給出;

   -ddd   將匹配信息包的代碼以十進制的形式給出;

   -e     在輸出行打印出數據鏈路層的頭部信息;

   -f      將外部的Internet地址以數字的形式打印出來;

   -l       使標準輸出變爲緩衝行形式;

   -n      不把網絡地址轉換成名字;

           -q            快速輸出,只輸出較少的協議信息;

   -t    在輸出的每一行不打印時間戳;

   -v       輸出一個稍微詳細的信息;

   -vv     輸出詳細的報文信息;

   -c       在收到指定包的數目後,tcpdump就會中止;

   -F      從指定的文件中讀取表達式,忽略其它的表達式;

   -i     指定監聽的網絡接口;

   -r     從指定的文件中讀取包;

           -s             從每一個分組中讀取最開始的snaplen個字節;

           -T          將監聽到的包直接解釋爲指定類型的報文;

   -w       直接將包寫入文件中,並不分析和打印出來;

5)執行網絡操做

以反做弊sdk報活日誌發送爲例:全新安裝搜狗輸入法→等待1min,發送報活日誌→更改手機時間,後調一天,發送報活日誌。該網絡操做完畢後,關閉DOS窗口便可中止。

6)將mycapture.pcap拷貝到電腦中,用Wireshark打開

Wireshark是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並儘量顯示出最爲詳細的網絡封包資料。用wireshark能夠篩選出指定host的請求。

相關文章
相關標籤/搜索