Android利用tcpdump和wireshark抓取网络数据包

主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手,但相对来说使用Fiddler进行网络数据抓包和展现更方便,优点包括:
(1)无需root
(2)对Android和Iphone同样适用
(3)操作更简单方便(第一次安装配置,第二次只需设置代理即可)
(4)数据包的查看更清晰易懂
(5) 可以查看https请求,建议使用Fillder,具体可见:利用Fiddler进行网络数据抓包。

1、下载并安装tcpdump
下载地址:tcpdump
安装tcpdump,命令行模式依次执行:

[quote]
adb root
adb push C:\Users\Trinea\Desktop\tcpdump /data/local/tcpdump
adb shell chmod 6755 /data/local/tcpdump
[/quote]
其中adb push的第一个参数为本地tcpdump的路径。

2、启动并运行tcpdump
命令行模式运行下面命令:
[quote]adb shell /data/local/tcpdump -n -s 0[/quote]
这时在手机上做任何涉及到网络的操作都会在屏幕上打印出来,可以通过ctrl+c停止。
由于命令行最大输出的限制及屏幕不断滚动,查看不方便,我们可以将抓取的网络包保存到sd卡,如下命令:
[quote]adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap[/quote]
依然通过ctrl+c停止,将文件拉取到本地PC
[quote]adb pull /sdcard/netCapture.pcap d:\\[/quote]
通过–help我们发现tcpdump支持如下参数:
tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
其中-c表示监控的请求个数;-C表示存储文件的最大大小;
-i表示监控的类型;-s表示抓取的网络请求返回的大小,0表示抓取整个网络包;-w表示抓取的包保存的文件路径,此时不会在标准输出打印。并且可以添加port参数表示端口。

3、利用wireshark分析数据
wireshark下载地址,中文版地址:http://www.onlinedown.net/softdown/2883_2.htm,英文版地址(需要番习习墙):http://www.wireshark.org/download.html
用wireshark打开capture.pcap即可分析log
关于wireshark具体可见:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值