天天记录 - Android抓包 - 抓取HTTP,TCP协议数据

需要两个工具tcpdump和Wireshark,  tcpdump的使用需要root权限
 
 

一  tcpdump

 
1. 下载
tcpdump首页  http://www.tcpdump.org/  
编译的二进制文件下载  http://www.strazzere.com/android/tcpdump  
 
 
2. 需要把tcpdump文件放到手机里面
[html] view plaincopy
 
 
  1. adb root  
  2. adb remount  
  3. # 当前命令行的路径下有tcpdump文件  
  4. adb push tcpdump /system/bin/tcpdump  
  5. adb shell chmod 6755 /system/bin/tcpdump  


3  进行数据包监听有两种方式
3.1 实时数据包监视
[plain] view plaincopy
 
 
  1. adb shell tcpdump -n -s  0     
查看80端口
[plain] view plaincopy
 
 
  1. adb shell tcpdump -X -n -s  0  port  80     
 
3.2 监视到的数据保存到手机上
[plain] view plaincopy
 
 
  1. 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

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. 响应协议内的内容



参考资料:
Wireshark基本介绍和学习TCP三次握手
posted on 2014-12-24 13:46  寻步  阅读(1110)  评论(0编辑  收藏  举报