前言
在android开发过程中,有时候需要分析网络数据包,那么如何对客户端进行抓包分析,这里就windows平台和linux平台分别进行说明。
windows下抓包方法
windows抓包我们借助工具Fiddler来进行,下面就讲一下fiddler的使用方法
安装fiddler
这个很简单,网上搜一下就有fiddler的安装包,直接傻瓜式安装就好
配置fiddler
打开fiddler工具选项卡,然后进行设置
选择https,勾选下面两项,这样fiddler就可以拦截HTTPS请求了
然后到connections选项,勾选下面一项,这样就可以允许远程机器把HTTP/HTTPS请求发送到Fiddler上来
注意:这里配置完成之后一定要重启fiddler
配置手机wifi
首先要保证手机和电脑在同一个网段下,这个时候打开手机的wifi设置,选择修改网络
勾选高级选项,然后将代理服务器主机名改为你电脑的ip,端口写8888 对应到fildder的默认监听端口,当然这个你也可以自己修改。
开始抓包
完成之后保存,这样你就可以让你的手机走fiddler,然后就可以截获你需要的数据了
其实fiddler在这里就是充当了一个代理服务器的作用,手机所有的数据流量都可以被fiddler监控到。
需要注意一点的是,这个时候实际上你的手机是走fiddler代理的,所以如果你的fiddler不打开的话,手机可能会上不了网,所以测试完毕记得把wifi设置改回来
ubuntu下抓包方法
在这里我介绍我使用的抓包方法,当然ubuntu下抓包肯定不知这一种方法。
ubuntu需要设置的东西
首先要给你的ubuntu设置一个热点wifi 具体的设置方法,大家可以自行google,这里推荐一篇ubuntu设置热点
然后在ubuntu状态栏上点击网络连接->连接到隐藏的wifi网络,这个时候选择你自己创建的wifi热点
手机需要做的事情
手机比较简单,直接连接到你电脑的wifi就可以了
开始抓包
打开终端,以管理员权限登录,然后使用命令tcpdump -s 0 -i any -w client.cap
进行抓包,停止抓包直接ctrl+c即可
我们拿到client.cap之后,就可以选择wireshark进行分析了
最后来说说mac下的抓包,mac下可以使用Charles进行抓包,详情可以到这篇文章去看下。