多种方式实现在Android 手机上抓包
一、素材来源
https://www.zhihu.com/question/20467503
二、方法整理
2.1 方式1:Packet Capture + HTTP Injector
使用于在手机端操作,可满足简单需求,无需root
2.2 方式2:tcpdump
https://www.zhihu.com/question/20467503/answer/86760222
答案里演示的感觉很极客,界面就是一个命令行的窗口,但是看起来好高端的样子~~~
下次有机会,给大家亲测一下
http://www.trinea.cn/android/tcpdump_wireshark/
2.3 方式3:Fiddler
优点
- 无需root
- 功能强大
- 操作简单
- 界面不丑
http://www.trinea.cn/android/android-network-sniffer/
2.4 方式4: wireshark + wifi分享软件
操作步骤
- 下载 Wireshark ,支持800多种通讯协议
- 无线网卡建立虚拟AP
- 连接wifi,直接用wireshark抓包,一切通讯尽收眼底
2.5 方式5: 大神写的app
我写了一个软件,你可以安装一下,启动抓包完成后通过邮件把码流发给你,你用wireshark打开就可以看到了。下载地址为 http://apk.gfan.com/Product/App328379.html

2.6 方式6: Stetho + Chrome dev tools
http://facebook.github.io/stetho/
https://www.youtube.com/watch?v=iyXpdkqBsG8
2.7 方式7: charles
mac上推荐使用
2.8 仅供参考的方法
作者:独奏
链接:https://www.zhihu.com/question/20467503/answer/22758575
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;
- 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Framework)。Superoneclick刷root权限教程:(http://soft.shouji.com.cn/news/501.shtml)
- 需要先获得 Android SDK
- 需要获得tcpdump软件,获取地址(http://www.strazzere.com/android/tcpdump)
抓包步骤
- 将Android手机与电脑USB相连,打开windows命令提示符窗口
将tcpdump程序copy至android手机(该命令前面那个目录文件为本地地址,后面那个目录为目的手机端地址)
C:\android-sdk-windows\platform-tools>adb push c:/tcpdump /data/local/tcpdump
修改tcpdump的权限
C:\android-sdk-windows\platform-tools>adb shell
#chmod 777 /data/local/tcpdump进入root权限
C:\android-sdk-windows\platform-tools>adb shell
$ su
在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root操作的认可。
运行tcpdump,输入以下命令启动抓包。
/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
- 在手机端执行相应需要进行抓包分析的操作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程
将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)
C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/
使用Wireshark等工具查看抓包文件capture.pcap
多种方式实现在Android 手机上抓包的更多相关文章
- Android手机上抓包神器
Packet Capture 一款依托安卓系统自身VPN来达到免Root抓取数据包的应用程序.Packet Capture一个使用SSL网络解密的 捕获数据包/网络嗅探 工具,虽然它的功能并不丰富,但 ...
- Android手机tcpdump抓包
在开发过程中遇到问题时,无法非常方便的获取到数据包,导致分析解决问题比较麻烦.这里介绍如何在Android手机上实现tcpdump抓包. 1.root机器 在用tcpdump抓包过程中,需要使用 ...
- 使用Fiddler工具在夜神模拟器或手机上抓包
下载安装Fiddler 地址:https://www.telerik.com/download/fiddler-everywhere Fiddler端设置 Tools>Options>Co ...
- 如何在 Android 手机上实现抓包?
如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...
- Android手机上监听短信的两种方式
Android手机上监听短信有两种方式: 1. 接受系统的短信广播,操作短信内容. 优点:操作方便,适合简单的短信应用. 缺点:来信会在状态栏显示通知信息. AndroidManifest.xml: ...
- 如何在Android手机上进行自动化测试(下)
版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本篇教程,你将会了解到: 如何使用Poco对Android原生应用进行测试 Poco支持直接对任何Android原生应 ...
- 如何通过wifi在android手机上安装调试应用
如何通过wifi在android手机上安装调试应用 1. 首先还是要打开手机的usb调试选项,并通过usb线连接手机.2. 然后执行“adb tcpip 5555”,把adb从usb模式切换到tcpi ...
- delphi xe5 android 手机上使用sqlite
本篇我们介绍一下在android手机上怎样使用sqlite数据库,这里用Navigator实现 增删改查. 1.新建firemonkey mobile application 2.选择blank ap ...
- Android 手机上安装并运行 Ubuntu 12.04
ubuntu.sh脚本的原地址变动了,导致下载不了,现在更新了网盘地址.小技巧:遇到一些下载失效的时候可以试一试p2p下载工具(如 easyMule.迅雷等)试一试,说不定有人分享过~* —————— ...
随机推荐
- Request和Response对象
Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏 ...
- 安装pyspider
费了三个小时,换了很多版本的Python pip lxml,最终选择安装anaconda2 非常顺利 运行pyspider后localhost:500正常显示 开森
- matlab报错
这可能说明..压根就没有这个函数
- python 定义类方法
定义类方法 和属性类似,方法也分实例方法和类方法. 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身. 要在class中定义类方法,需要这么写: class Person( ...
- MySQL常用数据类型小结
在 MySQL 中,有三种主要的类型:字符串.数字和日期/时间类型. 目录 [隐藏] 1 字符串类型 2 数值类型 3 日期和时间类型 4 使用建议 5 艺搜参考 字符串类型 CHAR 0-255字 ...
- Wireshark工具创建过滤器的方式
Wireshark工具创建过滤器的方式 [实例1-3]现在要抓取目的或来源地址为192.168.5.9的封包.在图1.5中添加如下所示的条件: tcp dst port 3128 添加后单击Star ...
- js三级省市区选择
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- HDU1853 Cyclic Tour(最小费用最大流)
题目大概说给一张有向图,每条边都有权值,要选若干条边使其形成若干个环且图上各个点都属于且只属于其中一个环,问选的边的最少权值和是多少. 各点出度=入度=1的图是若干个环,考虑用最小费用最大流: 每个点 ...
- EF框架step by step(3)—Code-First
CodeFirst是EF框架的第三种方式,也是最为复杂一种方式,本文将以EF4.1版本为基础,简要讲解一下用法,同时,也介绍DbContext的用法. 本文采用的示例仍然是前两篇采用的博客用户的示例. ...
- 解决嵌入WinForm的WPF控件无法显示图片问题
解决办法是在控件初始化时,通过下面方法再次加载图片: ucCanvas.CreateCoordinateImage.Source = GetImageIcon(global::MainApplicat ...