天天记录 - Android抓包 - 抓取HTTP,TCP协议数据
需要两个工具tcpdump和Wireshark, tcpdump的使用需要root权限
一 tcpdump
1. 下载
tcpdump首页 http://www.tcpdump.org/
编译的二进制文件下载 http://www.strazzere.com/android/tcpdump
2. 需要把tcpdump文件放到手机里面
- adb root
- adb remount
- # 当前命令行的路径下有tcpdump文件
- adb push tcpdump /system/bin/tcpdump
- adb shell chmod 6755 /system/bin/tcpdump
3 进行数据包监听有两种方式
3.1 实时数据包监视
- adb shell tcpdump -n -s 0
查看80端口
- adb shell tcpdump -X -n -s 0 port 80
3.2 监视到的数据保存到手机上
- adb shell tcpdump -i any -p -s 0 -w /sdcard/capture.pcap
二 Wireshark
1 下载
数据包分析工具Wireshark 下载地址
2 使用过滤功能
2.1 只显示get请求
Filter输入框中输入:http.request.method=="GET"
2.2 仅显示http
Filter输入框中输入:http.request.method=="GET"
2.2 仅显示http
Filter输入框中输入:http
2.3 过滤第1个完整协议
tcp.stream eq 0
2.4 查看完整协议
Follow TCP Stream
3 简单例子
3.1 过滤
添加过滤条件:tcp.stream eq 0
通常里面含有两个http协议的数据项,一个是get是请求,另外一个就是响应
右键单击 - Follow TCP Stream
3.2 解读内容
请求规则 : host字段 + GET字段
响应规则 :
1. 选中Protocol:HTTP
2. 下面窗口中选择Line-based text data: text/html
4. 响应协议内的内容
参考资料:
2.3 过滤第1个完整协议
tcp.stream eq 0
2.4 查看完整协议
Follow TCP Stream
3 简单例子
3.1 过滤
添加过滤条件:tcp.stream eq 0
通常里面含有两个http协议的数据项,一个是get是请求,另外一个就是响应
右键单击 - Follow TCP Stream
3.2 解读内容
请求规则 : host字段 + GET字段
响应规则 :
1. 选中Protocol:HTTP
2. 下面窗口中选择Line-based text data: text/html
4. 响应协议内的内容
参考资料: