首页 > 代码库 > 手机抓包方法
手机抓包方法
1 Adb工具简介
adb是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。安装方法:电脑上需要安装客户端,客户端包含在sdk里(android sdk的tools目录中自带),或单独安装adb,设备上不需要安装,只需要在手机上打开选项settings-applications-development-USBdebugging(USB调试模式)。常用adb命令:
1)查看设备
adb devices 查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2)安装软件
adb install 将指定的apk文件安装到设备上
3)卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名> 如果加-k参数,为卸载软件但是保留配置和缓存文件
4)登录设备shell
adb shell 将登录设备的shell,后面将是直接运行设备命令, 相当于执行远程命令
5)从电脑上发送文件到设备
adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备
6)从设备上下载文件到电脑
adb pull <远程路径> <本地路径> 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机
7)启动和终止adb服务
adb start-server 启动adb服务进程
adb kill-server 终止adb服务进程
8)显示帮助信息,查看adb所支持的所有命令
adb help
2 Android抓包方法
工具包内容如下:
adb ——谷歌提供的安卓远程调试工具 。(用于PC连接手机并输入命令)
tcpdump——Linux系统中普遍使用的一款开源网络协议分析工具。(放在手机内部进行抓包)
wireshark——window 系统下的抓包工具。(查看分析抓取的数据包)
抓包条件:手机需要取得 root权限
使用方法:
1、 把adb工具放到PC任一目录,然后进入cmd切换到工具目录,如:
2、 通过USB线把手机和PC连接,并打开手机的USB调试模式
3、 cmd 输入:adb devices 这个命令是查看当前连接的设备,如
4、 把tcpdump 工具拷贝到手机,cmd输入: adb push <本地路径> <远程路径> ,如:
5、 给tcpdump 执行权限,分别输入adb shell -> su ->chmod 6755 /data/local/tcpdump
6、 开始抓包,输入:/data/local/tcpdump –p –s 0 –w /sdcard/test.pcap
crtl+c 结束抓包,这样在手机/sdcard目录里面就会保存一个test.pcap的文件.
7、 把抓取的报文从手机上拷贝回电脑,输入:adb pull <远程路径> <本地路径> ,如:
然后就可以用 wireshark打开查看报文内容了。
可以看到向10.0.0.172发送的报文,即是移动网络发送的报文。
中国移动 网关:10.0.0.172 HTTP端口: 80和8080 WAP端口:9201
中国联通 网关:10.0.0.172 HTTP端口: 80和8080 WAP端口:9201
中国电信 网关:10.0.0.200 HTTP端口: 80
3 使用Fiddler工具进行抓包
3.1 Fiddler工具简介
Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展,在web开发和调优中经常配合firebug使用。
Fiddler的运行机制其实就是本机上监听8888(默认)端口的HTTP代理。 对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置,所以如果需要监听PC端Chrome或其他应用的网络数据包,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。
相对于通过adb使用tcpdump+wireshark抓包的优势在于:
1) 无需取得手机root权限
2) 对Android和Iphone同样适用
3) 操作更简单方便(第一次安装配置,第二次只需设置代理即可)
4) 可以利用Fiddler的强大功能对数据包进行各种操作
5) 可以查看https请求(Fiddler提供解密)
注意:只能是手机已经连接上网,且与Fiddler所在的PC在同一局域网内,手机能通过fiddler代理上网才能使用该方法进行抓包。
3.2 通过Fiddler进行手机抓包方法
1、 PC端安装Fiddler,Fiddler作为代理服务器模式
2、 配置Fiddler允许监听https
打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:
第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。
3、 配置Fiddler允许远程连接
如上图的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler以使配置生效,如下图:
4、 配置手机端
打开手机连接到同一局域网的wifi,并修改该wifi网络详情(长按wifi选择->修改网络)->显示高级选项,选择手动代理设置,主机名填写Fiddler所在机器ip(与手机同一局域网的IP),端口填写Fiddler端口,默认8888,如下图:
这时,手机上的网络访问在Fiddler就可以查看了:
手机抓包方法