Android网络数据包的抓和分析

1. 手机获得root权限;

2. push tcpdump到 /;

3. chmod 755 tcpdump;

4. 抓包:

adb shell tcpdump -s 0 -w /sdcard/capture.pcap

5. pull数据包到pc,使用wireshark查看数据包 。

tcpdump [-Apn] [ -c count ]  [ -i interface ] [ -s snaplen ] [ -w file ] [ expression ] 

# "-p": disable promiscuous mode

# "-s 0": capture the entire packet,从每个 报文 中 截取 snaplen 字节的数据,默认情况下68 个字节适用于IP, ICMP, TCP和UDP, 但是有可能截掉一些信息,应该把snaplen设的尽量小, 只要能够容纳你需要的协议信息就可以了。.

#"-A": Print each packet (minus its link level header) in ASCII.  Handy for capturing web pages.

#"-n": Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.


expression

第一种是关于类型的关键字,包括host,net,port,分别表示主机地址,网络地址,和端口号。

例如 host 210.27.48.2,指明主机是210.27.48.2,net 202.0.0.0 指明网络地址是202.0.0.0 ,port 80 指明端口是80.

第二种是关于传输方向的关键字,包括src,dst,dst or src,dst and src。

例如 src 210.27.48.2,指明源地址是210.27.48.2,dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。

第三种是协议的关键字,包括ip,tcp,udp等类型。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

三种逻辑运算,取非运算是 'not'  '!',与运算是'and' 或 '&&',或运算符是'or' 或 '││'。


使用范例:

1。截获本机所有收到的和发出的所有的数据包:
tcpdump -i eth0 -s 0 -w nwk-log.pcap


2。截获本机端口80接收或发出的tcp数据包:

#tcpdump  -i eth0 -s 0 -w nwk-log.pcap tcp port 80


2。截获本机和两个服务器的数据包:
tcpdump -i eth0 -s 0 -w nwk-log.pcap host \ (210.27.48.2 or 210.27.48.3 \) 


3。截获本机和两个服务器的HTTP数据包,翻译过来就是:source是两个服务器地址的数据包,或者通过TCP端口80或者8080,且目的地址是服务器地址的数据包:
tcpdump -i eth0 -s 0 -w nwk-log.pcap src host \(119.75.218.77 or 61.135.169.125\) or \(tcp dst port \(80 or 8080\) and dst host \(119.75.218.77 or 61.135.169.125\)\)


本人第一个Android程序,支持包(pcap)和对包文件进行分析(只支持http分析,自动解压gzip), 本程序无广告,无恶意代码, 如果不能用请告知手机信息和具体问题. Email: humorcolor@163.com 更新说明: V1.0.4 1.兼容Android4.2 V1.0.3 1.处理展示时间bug V1.0.2 1.增加部分机型适配 2.增加封包解析时间展示 3.处理长连接解析问题 说明: 1.请确认你的手机已ROOT 或者 能够在电脑上连接ADB 2.请确认你的手机有储存卡(/sdcard) 3.如果你的手机已经有ROOT权限,可以直接使用此应用进行包 4.如果没有获取ROOT权限,请使用 ADB命令 将应用生成的[/sdcard/tcpdump]复制到[/ststem/xbin/]目录下,并修改权限为6755后再次运行此应用包。 5.包文件保存在/sdcard/目录下,文件格式为.pcap 6.所取的数据包可以直接打开分析或者在电脑上使用Wireshark打开分析 7.注意在包过程中不要切换网络,否则会导致切换后的网络访问无法被取 ADB命令示例: adb root adb remount adb pull /sdcard/tcpdump c:\\ adb push c:\\tcpdump /system/xbin/ adb shell chmod 6755 /system/xbin/tcpdump 相关命令备注: 包命令:/system/xbin/tcpdump -p -s 0 -w /sdcard/xxxxxx.pcap 查看网卡:/system/xbin/tcpdump -D 或者 netcfg (查看状态为UP的网卡) 复制文件:cp 不成功可以使用 dd if=/sdcard/tcpdump of=/system/xbin/tcpdump 没有写权限:mount -o remount,rw / 和 mount -o remount,rw /system 参考代码: 手机包工具V2.0 pyhttpcap-master
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值