可以通过ipconfig命令等查看,最简单的就是将鼠标移到Fiddler窗口右上角的online字样上面,会自动提示当前电脑IP地址。
比如,我当前PC IP地址为172.20.224.63
打开Fiddler上Tools-->Options,选择Connections选项卡,可以查看到代理端口地址。默认为8888。你可以自行配置成其他端口号。
还有,请勾选“Allow remote computers to connect”(这是允许Android手机通过代理进行网络访问)。
手机连接和PC位于同一局域网的wifi,连接成功后,进入到高级选项中。(不同手机有不同的进入方法,早期手机是长按已经连接上的wifi,现在有些手机直接提供了进入配置的箭头按钮。)
将代理服务器主机名修改为第一步获取的IP地址,端口号为第一步获取的端口号。然后保存。
以上配置OK,打开手机进行网络访问吧,看看Fiddler上有没有HTTP请求包。
实际测试,如果发现没有数据包,你需要检查Fiddler是否打开,是否允许远程电脑访问,以及端口号和IP地址是否配置正确,然后重启试试看(重启Fidder、手机重连Wifi,重新配置等)。
以上配置的仅仅是抓取HTTP请求,对于HTTPS请求,你还是看不到。下面介绍下,HTTPS抓包配置。
HTTPS也是需要通过Fiddler代理来抓取的,所以呢,前面的配置代理的过程不变。下面介绍其他涉及到证书安装方面的。
打开Tools->Options,选择HTTPS选项卡,按照下图进行勾选。
PC上安装好了根证书之后,还需要在手机上安装根证书,才能保证Fiddller能够正确解析出HTTPS包。(原理是,手机通过Fiddler做了代理后,HTTPS请求进行握手时候获取的证书就是Fiddler自己生成的证书,这个证书在手机上默认不受信任,这样会导致手机端认为服务端非法从而断开HTTPS握手,导致请求失败。所以,我们需要让手机信任Fiddler的根证书。)
手机在配置好HTTP代理后,打开浏览器,输入: http://ipv4.fiddler:8888/ 。实际上 ipv4.fiddler 会引导到Fiddler所在PC的IP地址上。所以,你输入http://<pc ip>:<port>也是可以的。(题外话, ipv4.fiddler 这个域名不是外网通用域名,你知道为啥会正确解析不?猜想是Fiddler自己提供了本地DNS解析服务)
OK,以上是所有的配置。
配置成功后,观察Fiddler,手机进行一些 *** 作,看看HTTPS的请求能解析不。如果你遇到下面的异常:
很大可能是由于手机上没有安装Fiddler的根证书。当然,还有例外,如果手机Android系统为7.0以上,即便安装了Fiddler的根证书,也会出现这个异常。原因请参考 https://www.jianshu.com/p/0711ca1121e9
使用数据线将Android手机连接到电脑端,打开windows命令提示符窗口。使用命令打开Android所在的文件夹,我的是在D盘根目录下,因为我们要使用到Adb.exe,所以我们要一直打开到adb所在目录。将tcpdump程序copy至android手机(该命令前面那个目录文件为本地地址,后面那个目录为目的手机端地址)
修改tcpdump的权限
(1)先输入adb shell进入权限修改,若是在4.0之后的系统,再输入完adb shell 之后,我们还需要输入su命令,在运行su指令后,手机终端桌面会出现相应提示信息以确认您对root *** 作的认可。
(2)当出现#后,输入chmod 777 /data/local/tcpdump
运行tcpdump进行抓包
# /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
在手机端执行相应需要进行抓包分析的 *** 作,执行完成后在命令提示符窗口执行Ctrl+C中断抓包进程。
将抓包结果复制至本地(前面那个目录为手机端地址,后面那个目录为本地地址)
使用Wireshark等工具查看抓包文件capture.pcap
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)