Android 中用 tcpdump 调试网络程序


Android 默认没有 tcpdump,从网上下一个其它人 port 的版本就可以了,这个很容易 google 到,我就不再赘述了。也可以自己从 http://www.tcpdump.org 下载源码编译。NDK r5 之后直接用 toolchain 编译就行。

如果我们用 tcpdump 来调试 http 程序,可以这么写:

tcpdump -p -nnn -vvv -s 0 -w /sdcard/1.pcap port 80 and tcp

-p 是不开混杂模式,不过如果是用 3G/GPRS,区别不大...

-nnn 不解析地址,直接显示IP和端口

-s 0 最好加上,否则很多包都会被截断,就看不全了

-w 保存到 sdcard 上

port 80 and tcp,限定只看 80 端口的请求,调试 http 通讯比较合适

最后保存成的 pcap 文件用 Wireshark 就能很方便地看了。

相关内容