最近有很多读者朋友对手机抓包有疑问。有网友整理了相关内容,希望能回答你的疑惑。关于手机抓包工具,这个网站已经为你找到了问题的答案,希望对你有所帮助。
一、Fiddler与其他抓包工具的区别
1、虽然Firebug可以抓包,但分析http请求的详细信息还不够强大。模拟http请求的功能不够,firebug往往需要“无刷新修改”。如果页面刷新,所有修改都不会保存;
2、Wireshark是一种通用的抓包工具,可以获得HTTP和HTTPS,但HTTTPS无法解密,因此wireshark无法理解HTTPS的内容,但如果是TCP、Wireshark可以使用UDP协议;
3、httpwatch也是常用的http抓包工具,但只支持IE和firefox浏览器(其他浏览器可能有相应的插件);
而Fiddler 本地是一种使用方式 127.0.0.1:8888 的 HTTP 任何可以设置的代理 HTTP 代理为 127.0.0.1:8888 可以使用浏览器和应用程序 Fiddler。
二、Fiddler的工作原理
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的HTTP抓包工具之一 。 它可以记录客户端和服务器之间的一切 HTTP请求可以分析请求数据,设置断点,调试web应用程序,修改请求数据,甚至修改服务器返回的数据。
既然是代理,也就是说客户端的所有要求都要先通过Fidler,然后转发到相应的服务器。相反,服务器端的所有响应都会先通过Fiddler发送到客户端。因此,web客户端和服务器的请求如图1所示:
图1(web客户端和服务器的请求流程)
注:使用Fiddler时,需要先设置浏览器的代理地址,才能抓取浏览器的数据包。在您启动工具后,它自动帮助您设置浏览器代理,非常方便,关闭后,它恢复了浏览器代理。在您启动工具后,它自动帮助您设置浏览器代理,非常方便,当它关闭时,它恢复了浏览器代理。当然,如果你发现没有自动设置浏览器代理,你必须自己去浏览器设置代理。(百度每个浏览器都可以自己设置代理),反正反正百度每个浏览器都可以自己设置代理。
必须设置相应的代理,否则fiddler无法获得HTTP请求。
三、使用fiddler实现手机抓包
1.说明
网络请求数据不能直接在手机上查看,需要使用抓包工具。Fiddler是一个免费的web调试代理,可以用来记录、查看和调试手机终端和远程服务器之间的http/https通信。
fiddler没有手机客户端,都安装在PC上。为了实现手机上的程序抓取包,有必要在PC上配置fiddler和手机端。
2.步骤
2.1 PC端fidler配置配置—->根据HTTPS证书
许多手机应用涉及个人信息,采用更安全的HTTPS加密,而fiddler默认只捕获http会话而不捕获https报纸,导致打开fiddler后无法打开https网页(如百度)
解决方案:打开Fiddler->Tool->Fiddler Options->HTTPS tab,勾选Capture HTTPS CONNECTs(捕获 HTTPS 连接)和 Decrypt HTTPS traffic (HTTPS 请求解密),并安装证书(第一次使用无证书时,会弹出是否信任fidler证书和安全提示,直接点击yes)。
2.2 PC端fidler配置配置—->允许手机远程连接
要捕获手机上的通信数据,需要将Fiddler代理连接到手机上,Fidler默认不允许连接其他设备
解决方案:点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(此操作需要重启Fidler生效)
2.3 查看电脑ip
计算机ip地址可以通过cmd命令输入ipconfig查询
2.4 手机端配置—->访问计算机所在的网络
Fiddler所在的主机IP(需要在同一网络)需要在移动终端(手机或pad)上指定代理服务器,端口默认8888。
要保证手机和安装fidler的电脑在同一局域网内,手机可以ping通过电脑。
更改手机无线网络的代理方法:打开系统设置-WLAN-长按WiFi访问网络-点击高级选项-代理选择手动,主机名输入fidler的计算机ip地址和端口号,保存即可
2.5 手机端配置—->手机安装根证
Fiddler根证书需要安装在手机上,因为Fiddler通过自己生成的证书重新签名https会话解密网络请求,如果没有安装证书,只能抓取HTTP请求。
连接同一网络的手机和电脑,打开手机浏览器,输入Fiddler server地址httpp地址://ipv4.fiddler:8888/(因为Fiddler安装在PC上,所以Fiddler Server地址是PCIP地址,端口号8888,http是我的://192.168.0.128:8888/), 跳转到 Fiddler Echo Service 证书下载页,点击FidlerRotot certificate下载-命名证书-安装;
2.6 抓包测试
搜索手机浏览器,查看fidler中是否有记录(如下所示,抓包成功)
2.7 恢复手机状态
抓包结束后,需要手动恢复手机状态,方法如下(不同机型可能有些微差别):
(1) 停止电脑对手机的网络监控:系统设置-WLAN,长按wifi修改网络,找到高级选项的代理,删除手动代理;
(2)删除手机证书:安卓系统设置 系统 设备安全 信任的证据 用户 ,点击删除证书;
(3) 删除手机上的密码:手机系统-安全-密码,删除系统密码。
四、Filters过滤器
因为抓到的要求很多,我们眼花缭乱,这个时候可以过滤,只显示我们想要的(如下图所示,只显示host 是api-dev.XXXX.cn 的请求) ;也可以选择流程名称和端口,只显示流程要求。
Hosts配置说明:
(1)第一项有三个选项,不做更改:
“No zone filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”
(2)第二个选项是只监控以下网站,如只监控百度,填写下面的输入框 www.baidu.com
“No Host Filter“不设置hosts过滤器
“Hide The Following Hosts隐藏过滤过的域名
“Show Only The Following Hosts只显示过滤过的域名
“Flag The Following Hosts标记过滤过的域名
(3)将需要过滤的域名输入文本框,“使用多个域名”;“分号分割
fiddler默认检查http头中设置的host,并强制显示http地址中的域名
收集软件测试自学资料,关注“测试宝库”
主题测试文章,只做测试使用。发布者:艾迪号,转转请注明出处:https://www.cqaedi.cn/baike/104836.html