您现在的位置: 365建站网 > 365学习 > 数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比

数据抓包工具(http/https)Charles,wireshark,fiddler的安装使用和区别对比

文章来源:365jz.com     点击数:1157    更新时间:2018-07-28 21:39   参与评论

抓包工具:
常用抓包工具有好多,本人就试了三个。
Charles(IOS常用)
wireshark
fiddler(mac没有使用版本,需用Windows系统或连接远程安装使用)
安装包:官网下载最新即可或百度都有最新的

安装(可参考本文最后的教程)

Charles ,fiddler 方法一致:
电脑网络:随便连入一个wifi,然后查看本机地址(终端/cmd:ifconifg/ipconfig) eg:WiFi:nuanxinli,ip:192.168.191.1
手机:连入电脑一样的wifi(nuanxinli),打开手机WiFi的高级设置,打开使用代理:设置ip为192.168.191.1,端口为8888(一般默认设置)
打开以上两个软件正常的话就可以看到好多条信息了
注意:虽然手机设置了代理,但是电脑上的比如说网页打开的话也是好会有好多的请求的,看情况过滤或者是忽略就好。

wireshark :
这个比较特殊,不是连接wifi,而是需要设置代理,
首先:电脑连上网线,然后安装一个wifi共享的软件(eg:猎豹wifi,自行百度搜索就行)
然后:手机只需要连接电脑共享出来的wifi就行了。
最后:打开软件,找到tools(捕获)菜单,设置里面选择同一网段的玩那条网络,点击开始,操作手机就出来东西了

捕获类型:
Charles:只捕获http及https请求(之前没有配置好,只捕获了http的一点儿数据)
wireshark:捕获各类请求,但一般也就看http请求就可以了。(只捕获了返回的数据)
fiddler:只捕获http请求,但是显示的东西要详细的多。(捕获发送/返回的各个数据)

基础需查看页面内容(就是内容需要看什么,都有哪些东西):
Charles:
注意:一旦连接上之后,手机或者电脑操作任何跟网络有关的时候,这里的数据就一直在增加,不用的时候及时关掉就行了,还有就是我用的这个是试用版(好处:不要钱,坏处:每到三十分钟就自动关闭,但是重新打开还可以继续使用,长时间的获取数据的话就需要注意了)。


跟fiddler的查看方式是基本类似的,主要看圈出来的三个大模块就好了,然后遇到具体问题具体分析就行了。
然后最顶端的小工具不清楚的百度下或自己试试就行了,就不一一介绍了。

fiddler:
注意:一旦连接上之后,手机或者电脑操作任何跟网络有关的时候,这里的数据就一直在增加,不用的时候及时关掉就行了


charles工具抓包教程(http跟https)

1.下载charles

    可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/    根据自己的操作系统下载对应的版本,然后进行安装,然后打开charles工具


2.设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器)

  1).查看默认端口    Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行

  2).查看当前电脑的ip    例如我这里的是:192.168.9.129

  3).知道了默认端口跟ip地址,我们就可以手机上设置代理了。设置步骤我录制了gif动画。(我用的是genymotion模拟器,真机也是一样的)

      1.gif


完成了以上两个步骤就可以抓到http请求的数据了,效果图如下:

2.jpg


      

接下来讲解如何抓取https协议的包,如果你没有这个需求,请不要继续浏览下面的内容

3.设置charles ssl代理

   Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

   1).Enable SSL Proxying复选框打上勾

   2).添加你想要的设置代理的域名,端口默认443

   设置过后效果图如下:

   3.jpg

  

   

4.手机下载ssl证书

   1).Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser...   

       会弹出一个提示框,如下显示:

       4.jpg

       浏览器输入这个地址即可下载证书,记住要用Android自带的浏览器.   地址是:http://charlesproxy.com/getssl

    2).然后按照他的提示安装证书即可.


做完第三步跟第四步就可以抓包https数据了.如果还有问题请留言。。。下面是我抓包截图。

5.jpg


fiddler抓包HTTPS请求

跟着教程来,保证100%成功抓HTTPS包

教程开始

安装fiddler

首先准备一台可以上网的windos电脑,准备一部智能手机。 
fiddler抓包工具:下载地址( 自行百度一搜一大片)。安装,打开如果遇到.net framework错误,下载一个高本版的.net 即可。好了教程已经完成了一大半。 
打开fiddler随便打开下浏览器。发现已经可以抓包,但想要抓手机https还需要做一些设置。 
6.jpg

配置fiddler

  1. 打开fiddler配置Tools –> Fiddler Options. 
    7.jpg

  2. 打开HTTPS配置项,勾选“CaptureHTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的对话框选择是(这里是按照fiddler自己的证书)如果跟我一样手机跟电脑是用wifi进行链接的话还需要选择“…fromremote clients only”。如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore servercertificate errors”。 
    8.jpg

  3. 打开Conections配置项, 这里可以修改Fiddler代理端口号。勾选“Allow remote computersto connect。提示需要重启fiddler。 
    9.jpg

  4. 哈哈,高端的来了,需要写点代码。这里是为了可以抓客户端使用httpURLConnection的包。 
    Ruler –>CustomizeRules 
    在函数OnBeforeResponse里面添加下面代码:

if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
            oSession.oResponse.headers["Connection"] = "Keep-Alive";
}

 

 

添加后代码为:


static function OnBeforeResponse(oSession: Session) {        if (m_Hide304s && oSession.responseCode == 304) {
            oSession["ui-hide"] = "true";
        }        if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
            oSession.oResponse.headers["Connection"] = "Keep-Alive";
        }
    }


不要忘记重启fiddler!!!

配置手机

保证手机跟pc是在同一个网段下。 
配置手机连接的wifi,可能每个手机打开wifi配置的方式都不太一样,仔细研究下,选择已经连接的网络,打开修改网络窗口。显示高级属性,配置网络代理–>手动 代理服务器主机名:填写pc机的IP地址即可例如:192.168.0.4,代理服务器端口号:fiddler的代理端口号,如果没有修改就是8888。 
关键步骤哈: 
下载安装fiddler的证书 
10.jpg 
在手机浏览器打开 代理服务器:端口号 例如上面填写的就是192.168.0.4:8888,点击页面中的“FiddlerRootcertificate”链接,在弹出的对话框中随便设置一个名称确定即可。

抓包截图

测试机上没装多少软件,打开百度钱包来试试 
11.jpg

好了。大功告成!

让我们想想

通过fiddler可以抓包,是不是说https就是不安全的了呢,毕竟所有的请求对我们来说都是透明的呢。其实刚才的过程很重要的一点就是我们下载并且安装了fiddler的根证书,对于pc端来说就是配置fiddler https选项时弹出的对话框,对于手机来说就是我们去 pcip地址:fiddler代理端口这个地址下载证书的过程。 
而对https的安全来说,https安全的前提就是可信的根证书!!!! 
而,之前的操作无疑是在我们系统里面安装了不可信的根证书。使得fiddler对我们的通信造成了中间人攻击!。 
简单的说就是我们与服务器进行通信,会先获取服务器的证书,进行校验校验过程是用本地的可信根证书进行校验,而装入fiddler的根证书后,fiddler可以伪造证书,获取我们与服务器通信的秘钥,进行破解我们的通信。所以对我们我们系统来说安装证书是一个多么危险的操作!


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (1157人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------