Android通过tcpdump抓包(wifi, 2g, 3g都可以)
http://blog.csdn.net/deng529828/article/details/20646197
1. 手机要有root权限
2. 下载tcpdump http://www.strazzere.com/android/tcpdump
3. adb push c:\wherever_you_put\tcpdump /data/local/tcpdump
如果这一步真机无法push,可以用adb push c:\where_you_put\tcpdump /sdcard,即先将文件存入不需要权限的文件夹中,这里用sdcard,然后在传到/data/local/tcpdump。
4. adb shell chmod 6755 /data/local/tcpdump
5, adb shell, su获得root权限
6, cd /data/local
7, ./tcpdump -i any -p -s 0 -w /sdcard/capture.pcap
命令参数:
# "-i any": listen on any network interface
# "-p": disable promiscuous mode (doesn't work anyway)
# "-s 0": capture the entire packet
# "-w": write packets to a file (rather than printing to stdout)
... do whatever you want to capture, then ^C to stop it ...
下载tcpdump文件到电脑
adb pull /sdcard/capture.pcap capture.pcap
然后用wireshark打开即可看到数据包的详细信息。
2G、3G环境,那就必须root进去tcpdump 方式抓。
准备:
一、root
CF-auto-root: http://autoroot.chainfire.eu/
需要清理全部数据,注意备份
不用怕root 后的不安全,root权限由superU管理授权。
root 后推荐: 绿色保护、fqrouter、xposed、XPrivacy。
二、软件
- adb
包含在android sdk中,通过USB debug 和android交互工具
- tcpdump
安装一个tcpdump 相关的app,app启动后会获取root权限将tcpdump安装好,当然不怕麻烦也可以下android tcpdump版本手动copy进去
----update 2015-1-2
Android 5后,强制要求二进制文件支持PIE(Position-Independent-Executable) 提高系统安全性,能找到的tcpdump包基本都没PIE 无法执行,需修改tcpdump编译选项,刚找到编译好现成的了:http://www.liudonghua.com/?p=372 里面有下载(测试可用)。
- busybox
一个命令工具集合,在adb shell 提供大多数linux 下命令,我们要用到的nc 就在里面
三、离线抓包
- 方式一:adb usb 连接进去执行抓包
adb shell su
tcpdump -s 0 -w /sdcard/tmp.pcap
- 方式二: tcpdump app 上执行抓包
相关app 很多
好处:可以不用usb连接,也能抓到正常使用环境的网络包,
usb 连接时android 系统将不会进入深度睡眠,深度睡眠时客户端行为可能不太一样(wake lock、alarm、wifi switch..)
同时推荐betterbatterystat http://forum.xda-developers.com/showthread.php?t=1179809
- 拿出包
抓完后,因为文件是通过root 账号写的,windows下看不到,mac本身不支持,所以停止回到系统shell
adb pull /sdcard/tmp.pcap .
四、 实时查看抓包
通过分享热度、360移动wifi 都能做到,不过存在问题:
1. 只能wifi网络
2. 因为是中间节点,抓的包的时序不一定是客户端包的时序
2G/3G网络也可以做到,原理 将tcpdump 标准输出给nc、adb 只是端口映射,本机nc 连接adb 映射端口,将流给创建pipe,wireshark 支持pipe流
脚本:
1. adb_tcpdump.sh
|
1
2
|
sutcpdump -s 0 -w - | busybox nc -l -p 11233 |
2. adb_wireshark.sh
|
1
2
3
4
5
6
7
8
9
10
|
adb shell < adb_tcpdump.sh &sleep 1adb forward tcp:11233 tcp:11233sleep 1mkfifo /tmp/sharkfinwireshark -k -i /tmp/sharkfin &nc 127.0.0.1 11233 > /tmp/sharkfin |
在mac 下执行./adb_wireshark.sh 就能弹出wireshark实时看看手机流量了
Android通过tcpdump抓包(wifi, 2g, 3g都可以)的更多相关文章
- [转] Android利用tcpdump抓包
原文链接:http://mysuperbaby.iteye.com/blog/902201 Android利用tcpdump抓包 博客分类: Android AndroidAccessGoHTML ...
- Android手机tcpdump抓包
在开发过程中遇到问题时,无法非常方便的获取到数据包,导致分析解决问题比较麻烦.这里介绍如何在Android手机上实现tcpdump抓包. 1.root机器 在用tcpdump抓包过程中,需要使用 ...
- Android利用tcpdump抓包,用wireshark分析包。
1.前言 主要介绍在android手机上如何利用tcpdump抓包,用wireshark分析包. android tcpdump官网: http://www.androidtcpdump.com/ t ...
- android下tcpdump抓包
tcpdump是最快捷方便的抓包方式,还可以加深对网络协议的理解.android下可以通过如下方式抓包: 1 Android上启动tcpdump Android设备可以把tcpdump的可执行文件上传 ...
- Android使用tcpdump抓包
AllJoyn中有个问题:Server切换到Client后,重新加入其他Server时join session会失败,原因是timeout(join session是异步的,在指定时间内没有收到回应) ...
- Android通过tcpdump抓包
1. 手机要有root权限 2. 下载tcpdump http://www.strazzere.com/android/tcpdump 3. adb push c:\wherever_you_pu ...
- 转:android root tcpdump抓包强烈推荐
转:http://www.cnblogs.com/findyou/p/3491035.html 写的相当详细且完整,业界良心. adb push d:\tcpdump /data/local/ adb ...
- fiddler Android下https抓包全攻略
fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP ...
- 基于TcpDump和pcap文件分析的Android平台网络抓包程序设计与实现【随便】
一.考虑使用Tcpdump,将抓到的包保存到cap文件中,然后手动分析.参考资料:1. http://www.cnblogs.com/tt-0411/archive/2012/09/23/269936 ...
随机推荐
- IE比Chrome强的一个地方
今天在开发时,调试一个功能.死活显示和同事不一样,他是测试过正常的,我的Chrome显示死活不对. 最后要重新部署了,才想起会不会是缓存的问题.清除Chrome缓存,再一试,一切正常. IE有一个功能 ...
- hdoj 2046 骨牌铺方格
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
这是寒冬大神提出的一个题目,刚开始看到这题的时候完全不知道从什么地方回答起好,题目内容比较广泛,找不到针对点.后来我觉得这个题目应该能拆成几个点来回答:1.'display'.'position' 和 ...
- Web 应用的安全性
Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分.用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统.用户授权 ...
- iOS--消息推送后方法回调情况(简)
消息推送 工作 --- 消息推送 消息推送 消息推送集成参考友盟 http://dev.umeng.com/push/ios/integration 注意测试环境下,(友盟)设备在手机启动程序的时 ...
- Styles and Themes
1 概念 1.1 style Style是指一个关于组件或窗口的特定显示方式的属性集合,Style.xml资源文件与对应的layout.xml资源文件分开定义.Android中的style使用网页设计 ...
- MSSQLSERVER数据库- 配置数据库邮件配置的操作过程
还是第一次发现数据库可以发邮件.查了一下百度,试了一下,发现可以. 1.简单了解数据库邮件的概念和使用的传输协议及系统体系: 数据库邮件是从 SQL Server 数据库引擎中发送电子邮件的企业解决方 ...
- PowerDesigner 模型文档 说明
PowerDesigner 模型文档 说明 目录(?)[+] 一. 模型文档说明 在前面几篇里介绍了PowerDesigner 的几种模型,如果我们项目里用到的模型较多,亦或者项目牵涉的部门很 ...
- hdu 2844 Coins (多重背包)
题意是给你几个数,再给你这几个数的可以用的个数,然后随机找几个数来累加, 让我算可以累加得到的数的种数! 解题思路:先将背包初始化为-1,再用多重背包计算,最后检索,若bb[i]==i,则说明i这个数 ...
- cocos2d_随手篇1_关于ccTouchBegan的调用
在新的cocos框架里,旧的调用ccTouchBegan方法被和谐掉了!so! 直接来代码 1 -(void)doSometing{ 2 [[[CCDirector sharedDirector] ...