Android 配置Fiddler抓包

Android 配置Fiddler抓包,第1张

将浏览器的代理设置成Fiddler能够实现Fiddler抓取浏览器的请求。同理,Android手机配置Fiddler作为代理服务器,从而让Fiddler能够截获Android的流量来实现抓包。

可以通过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

    直接在手机上抓包是件非常麻烦的事,但可以有两种方法来实现抓包。

1、通过连接笔记本wifi热点后抓包

2、通过代理方式

    笔记本wifi热点是利用计算机软件做路由器,用无线网卡发射wifi信号,其他wifi设备通过无线网卡发射的wifi信号和计算机共享上网。【以下各图均来源网络】

配置步骤:

1、以管理员权限,运行cmd

2、在命令行输入以下命令:netsh wlan set hostednetwork mode=allow ssid=xx

key=****,回车运行(其中ssid为热点名称,key为密码)

3、输入netsh wlan start

hostednetwork启动步骤2中创建的热点

4、等待大约一分钟后,网络连接中出现一个网卡名字为“Microsoft Virtual WIFI Miniport

Adapter ”的无线网络

5、将网卡1(本地连接)共享给无线网络,查看“网络连接”窗口,右键单击已经连接上网的网络连接,右击选择“属性”-“共享”,第一栏的家庭网络连接选择“无线网络连接2“。”

6、这样就可以在笔记本上打开wireshark,通过手机上网,抓取“无线网络连接2”的数据包了。

:访问很多https协议的网站需要安装证书,手机也可以导入cer文件。本文将通过简单的两步告诉你手机安装cer或crt文件的方法。

步骤一:请先将数字证书文件“******.cer”文件复制到SD卡的根目录下;

步骤二:进入手机,设置→安全→信任的证书→从设备存储空间安装→“确定”安装cer证书。

选择“从SD卡安装证书”:

         通过一个代理服务器,这样就可以在代理服务器上看到网络数据包了。这可以通过抓包工具fiddler和charles轻松实现。它们就是在PC上把自己模拟一个代理服务器,这样所有的数据包都通过它们转发。

       fiddler和charles 是最常用的,资料也最多。

·

不同主机之间的数据通信都是通过网络来进行传输,对那些在网络上传输的数据(发送、请求的数据)进行截获、编辑、转存等操作叫做抓包。抓包可以是抓取电脑端请求的数据,还可以抓取移动端(手机APP)的数据包。

通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件的Debug很大的帮助。当然也可以通过抓取用户发送的涉及用户名和密码的数据包来获取用户的密码。

一般情况下,数据按照各种网络协议按照一定的格式在网络上进行传输,网络上传输的数据是以帧为单位,在对需要发送的数据进行包装的时候,会把数据的接收方、发送的的地址(MAC地址、IP地址等)一起进行包装并进行发送。根据发送方和接收方的地址,会有一条数据包的传输路径,在这条路径上,发送的数据包,会经过网络上很多台主机,标准的TCP/IP协议是这样处理的:当有数据经过主机时,主机会通过存放在数据包里面的地址来进行判断,这个数据包是否是发送自己的,如果不是发给自己的,主机就不会对它进行解析,简单的进行丢弃(转发)。如果是发送给自己的,那么主机就会对其进行解析和存储。

如果想要存储那些不是发送给自己的数据包,可以把网络适配卡设置为杂乱模式。这样它就会接收经过它的每一个数据包了。

目前主流的移动端抓包工具为:TcpDump、WireShark、Fiddler, 他们的对比如下。

Android平台下的网络数据抓包工具,Android模拟器中自带 TcpDump 文件。

用 TcpDump 对网络数据抓包,手机不用走代理——将网络数据包添加到 WireShark 中分析即可。

缺点:

PC端截获、分析通过该网卡的所有网络通信的数据包(针对移动端时候,就要对移动端设置 代理服务器)强大的工具,完整查看网络中的每层、每个协议、每个数据包的详细组成信息;TCP、UDP、HTTP、HTTPS等协议的数据包均可获取;

缺点:

HTTP协议的代理工具,抓取、分析电脑中所有进出该网卡、与网络进行数据交互的数据(针对移动端抓包时,需要设置代理服务器),主要针对的是 HTTP/HTTPS协议;能够清晰查看 数据包 中的内容——HTTPS中的数据包可以解密出来;

优点:

缺点:

百度百科

利器 -- 抓包工具总结

移动端网络数据抓包工具对比分析

fiddler和wireshark工具介绍及对比 - catherine的心路历程 - 博客大巴


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/285057.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存