Android利用tcpdump和wireshark抓取网络数据包
2016-05-27 19:16
507 查看
http://www.trinea.cn/android/tcpdump_wireshark/
主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手,但相对来说使用Fiddler进行网络数据抓包和展现更方便,优点包括:
(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂 (5) 可以查看https请求,建议使用Fillder,具体可见:利用Fiddler进行网络数据抓包。1、下载并安装tcpdump
下载地址:tcpdump
安装tcpdump,命令行模式依次执行:
Java
123 | adb rootadb push C:\Users\Trinea\Desktop\tcpdump /data/local/tcpdumpadb shell chmod 6755 /data/local/tcpdump |
命令行模式运行下面命令:
1 | adb shell /data/local/tcpdump -n -s 0 |
由于命令行最大输出的限制及屏幕不断滚动,查看不方便,我们可以将抓取的网络包保存到sd卡,如下命令:
1 | adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap |
1 | adb pull /sdcard/netCapture.pcap d:\\ |
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
对你有帮助的话,去知乎点个赞让更多人了解:如何在
Android 手机上实现抓包
相关文章推荐
- I/O多路复用之select/poll/epoll
- 并发服务器
- iOS下的实际网络连接状态检测
- Linux下的TCP/IP编程----实践篇
- Linux---ubuntu重启网络服务
- I/O复用和I/O模型
- 根据传入的地址获取网络文件大小
- tcp三次握手四次挥手原理(个人总结的特殊理解)
- 针对苹果最新审核要求为应用兼容IPv6
- 嵌入式linux开发环境搭建(一)——双网卡的网络设置
- TCP协议中的三次握手和四次挥手(图解)
- 禁止 Httpclient4.3 自动跳转
- apache httpd.conf 路径配置
- 计算机网络之应用层
- Linux下Apache HTTP Server 2.4.20安装
- JAVA 调用HTTPPOST请求
- http://www.cnblogs.com/zhengyun_ustc/p/55solution2.html
- iOS之网络篇
- Android网络请求报错:java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
- Fiddler2拦截http请求修改数据两种方法