一、安裝androidtcpdump
在移動設備上捕獲流量需要安裝捕獲工具,而androidtcpdump則是一款基於tcpdump的工具,具有捕獲網絡流量的能力,同時支持把捕獲到的數據導出到PC進行分析。安裝步驟如下:
adb push androidtcpdump /data/local/tmp/
adb shell chmod 6755 /data/local/tmp/androidtcpdump
adb shell setcap cap_net_raw,cap_net_admin=eip /data/local/tmp/androidtcpdump
執行完畢上述命令即可安裝成功。
二、使用androidtcpdump捕獲流量
捕獲流量需要在移動設備上執行以下命令:
adb shell /data/local/tmp/androidtcpdump -i any -s 0 -w /sdcard/test.pcap
其中-i 表示指定網絡接口,any 表示監聽所有網絡接口;-s 表示抓取數據包時每個包的長度;-w 表示輸出的文件路徑和文件名。
執行此命令後,androidtcpdump將開始抓取所有網絡接口上的流量,並將其保存到指定的文件中。可以通過Ctrl+C命令停止抓取。
三、使用Wireshark分析流量
將捕獲到的流量文件導入到Wireshark中處理和分析:
- 將指定的文件拷貝到PC上,使用Wireshark打開。
- Wireshark界面會顯示捕獲到的網絡流量信息。
- 通過Wireshark的過濾功能,可以從海量數據中篩選出需要的數據包,從而更加方便地進行分析。
例如,使用以下過濾器可以只顯示訪問指定IP的數據包:
ip.addr==192.168.1.10
通過上述過濾器,Wireshark將只顯示訪問IP地址為192.168.1.10的數據包。
四、常用命令
- 捕獲所有流量
- 捕獲指定應用程序網絡流量
- 捕獲指定端口號的網絡流量
- 實時輸出捕獲的網絡流量
adb shell /data/local/tmp/androidtcpdump -i any -s 0 -w /sdcard/all.pcap
該命令捕獲全部流量,並將結果存儲到指定文件中。
adb shell /data/local/tmp/androidtcpdump -i any -s 0 -w /sdcard/app.pcap -p {package_name}
將指定應用程序的網絡流量捕獲並存儲到指定文件。
adb shell /data/local/tmp/androidtcpdump -i any -s 0 -w /sdcard/port.pcap port {port_number}
捕獲指定端口號的網絡流量,並將結果存儲到指定文件。
adb shell /data/local/tmp/androidtcpdump -i any -s 0
該命令開始實時輸出網絡流量,不保存到文件中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150622.html