一、首先安装
1.1Charles跨平台
1.2Fiddler
1.3Wireshark
三者的安装及配置自行百度。
3.Wireshark安装时候选择一块网卡进入即可
二、三者的区别
首先不管是Charles、Fiddler还是Wireshark都必现保证手机和电脑在同一局域网。
Charles、Fiddler有二种方式:
第一种是笔者台式机是插的公司网线,直接找到本地连接的IP地址 10.1.38.35
然后手机连接公司无线,然后进入该无线的高级设置
找到代理设置
配置如下,此处端口8888,对应上面三种软件配置的监听端口。
第二种方式,貌似只能用这种方法,监听无线网卡。是电脑直接开个热点,然后手机连接该热点
如笔者电脑开的热点,同样找到该网络的IP地址,其它步骤同上。
实验中发现,Charles和Fiddler抓不到某些app的数据!!!!!折腾了好久,还以为哪里配置错了。
之前用Charles和Fiddler能抓到一些软件的http请求,但是还是有一些软件
确定是http还是抓不到。。设置肯定没有问题,网上各种说设置有问题。我也是检查好长时间,真是坑人。。最可恨的的应用明确 确定是http的, 明可以抓到一些应用,还说设置有问题。真是服了。
换用charles照样,照样抓不到。。。。
后来发现是由于一些app使用第三方的网络库,像retrofit okhttp,asychttpclint等等根本就是wifi直连,不走系系统的wifi设置,所以你设置代理,毛用没用,自然fiddler是抓不到的。
知道了以后就好办了,电脑开一个热点,然后,抓网卡包,抓网卡包,抓网卡包就行了。。。用Wireshark来抓取网卡包就ok了,什么请求都丢不了了。。。。
选择自己的网卡进行抓包,然后然后,筛选,如指定 ip的请求。 ip.dst == xxx.xxx.xxx.xxx and http
或者直接赛选json 赛选 返回json格式的数据。
个人感觉还是 Charles好用,可视化更友好。
但是有些app的数据抓不到,就只能用Wireshark啦。