Android下使⽤TCPDUMP实现数据抓包教程
如果想分析Android下某个APP的⽹络数据交互,需要在Android⼿机上抓包,最常⽤的抓包⼯具⾮tcpdump莫属,⽤tcpdump ⽣成Wireshark识别的 pcap⽂件,然后将pcap⽂件下载到电脑上,⽤电脑上的Wireshark加载pcap⽂件,通过Wireshark分析tcpdump抓取的数据。
⼀、安装tcpdump
为Android⼿机安装tcpdump,⾸先必须将Android⼿机root,现在市⾯上常⽤的root⼯具都很傻⽠很强⼤,推荐使⽤root精灵,将⼿机root以后,我们就可以为⼿机安装tcpdump了。
复制代码代码如下:
adb push tcpdump /sdcard/
adb Shell
su
cat /sdcard/tcpdump > /system/bin/tcpdump
android学习教程上⼀条命令如果提⽰没有权限,接着执⾏如下命令尝试给 /system ⽬录增加写权限
复制代码代码如下:
su
mount
在mount结果中到包含/system的⼀⾏,类似如下:
复制代码代码如下:
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
去处/system前半⾏,即/dev/block/platform/msm_sdcc.1/by-name/system,执⾏如下命令:
复制代码代码如下:
mount -o remount /dev/block/platform/msm_sdcc.1/by-name/system /system
这个时候/system就拥有写权限了,继续执⾏:
复制代码代码如下:
cat /sdcard/tcpdump > /system/bin/tcpdump
chmod 777 /system/bin/tcpdump
到此为⽌,tcpdump就成功安装到了/system/bin/⽬录下,接着⽤如下命令还是抓包
⼆、使⽤tcpdump抓包
复制代码代码如下:
tcpdump -i wlan0 -s 0 -w /sdcard/1.pcap
可以结束时使⽤Ctrl+c快捷键让tcpdump结束抓包,抓到数据会存到/sdcard/1.pcap⽂件内
重新打开⼀个终端(Terminal),执⾏如下命令
复制代码代码如下:
adb pull /sdcard/1.pcap .
1.pcap⽂件被下载到了终端上的当前⽬录下
三、安装Wireshark并分析pcap⽂件
复制代码代码如下:
tcp.port == 80 //过滤来⾃80端⼝的TCP数据
udp.port == 12345 //过滤来⾃12345端⼝的UDP数据
ip.src == 192.168.0.1 //过滤源IP为192.168.0.1的数据
ip.dst == 192.168.0.1 //过⽬的IP为192.168.0.1的数据
以上过滤条件可以⽤and跟or相互组合,例如
复制代码代码如下:
tcp.port == 80 and ip.src == 192.168.0.1 //过滤来⾃80端⼝,源IP为192.168.0.1的TCP数
udp.port == 12345 or ip.dst == 192.168.0.1 //过滤来⾃12345端⼝的UDP数据,或者⽬的IP为192.168.0.1的数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。