抓包工具有哪些:常见的抓包工具有fiddler,wireshark ,charles, HttpWatch, firebug 等

Charles的基本功能使用

Charles简介:charles是一款常用的截取网络抓包的工具,因为他是基于 java 开发的所以跨平台,Mac、Linux、Window下都是可以使用的,确保安装之前已经安装了JDK。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

手机端使用charles进行抓包:

第一步,在charles里设置允许手机联网的权限;你需要把charles设置为允许的状态并且设置允许的端口号,这样手机端才能正常的接入;

在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口号(注意,端口不一定填写8888,也可以写别的端口,但是需要记住因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图;

charles overview和contents里的内容不一样 charles与fiddler区别_抓包

 查看当前电脑ip地址:可以直接用cmd    ipconfig  进行查看地址。或者直接在Charles--help--Local IP Address 进行查看地址。(ip地址需要与手机配对)

可以任意打开一个浏览器输入一下地址进行验证,Charles会弹出提示。

charles overview和contents里的内容不一样 charles与fiddler区别_手机端_02

 

第二步,把手机按照charles的IP和端口进行配置;(手机和电脑网络在同一个wifi)

在iPhone的 “设置”->“无线局域网“可以看到当前连接的wifi名,点击右边的详情键,进入到连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号填写你在charles的端口号

charles overview和contents里的内容不一样 charles与fiddler区别_手机端_03

 

第三步,手机配对成功后,charles还会弹窗是否允许;

设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单

如上图的弹窗,点击允许即可;此时已经配对成功,开始愉快的抓包吧;

 

Fiddler使用

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。下载地址 :https://www.telerik.com/download/fiddler

fiddler可以通过File-Capture Traffic 进入开始/结束抓取数据。以下是对应名称的解释。

charles overview和contents里的内容不一样 charles与fiddler区别_手机端_04

 

charles overview和contents里的内容不一样 charles与fiddler区别_手机端_05

 

 

 Filters 请求过滤规则

Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,

勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:

charles overview和contents里的内容不一样 charles与fiddler区别_手机端_06

 

2、Host 指定显示某个域名下的会话:

charles overview和contents里的内容不一样 charles与fiddler区别_端口号_07

charles overview和contents里的内容不一样 charles与fiddler区别_端口号_08

 

 

 

 

 

如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可

 手机连接进行抓包

fiddler手机抓包原理

在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https。不仅如此,它还可以支持请求重放等一些高级功能。它还可以支持对手机应用进行http抓包的。

前提条件:
1).电脑需要安装Fiddler
2).测试手机需要支持Wifi
3).测试手机与电脑需要同一网络且手机无需要usb连接电脑
4).所测手机时需在手机wifi处设置代理 

设置Fiddler

 电脑端打Fiddler   Tools---Options--HTTPS  勾选

1.(1)电脑端打开安装好的的fiddler,打开Tools-Options

charles overview和contents里的内容不一样 charles与fiddler区别_抓包_09

(2)HTTPS设置如下图

charles overview和contents里的内容不一样 charles与fiddler区别_端口号_10

…from all processes :抓所有的请求

…from browsers only :只抓浏览器的请求

…from non-browsers only :只抓非浏览器的请求

…from remote clients only:只抓远程客户端请求

(3)Connection设置如下图,端口号设为8888

charles overview和contents里的内容不一样 charles与fiddler区别_抓包_11

2.手机端添加代理

注:电脑联网和手机联网在一个局域网,手机和电脑都是连的公司网络  苹果手机和安卓手机是一样的设置

 

手机端设置-WLAN中给网络设置代理,选中连接的WLAN,对该网络进行编辑,代理中选择手动,主机名填写电脑的ip地址(电脑cmd-ipconfig),端口写刚刚fiddler写的端口8888。

手机浏览器上输入手机端用浏览器访问http://IP:端口,用电脑的端口和fiddler设置的端口访问安装证书,访问网络,观察fiddler能否成功抓包

charles overview和contents里的内容不一样 charles与fiddler区别_端口号_12

charles overview和contents里的内容不一样 charles与fiddler区别_抓包_13

 

 

fiddler弱网模式调节

  1. Rules – Customize Rules(快捷键Ctrl + R)或者直接选择网站后右边打开Fiddler Script
    在界面找(m_SimulateModem),直接修改上行上传速度/下行下载速度的参数,如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=100ms,就改成100。
  2. charles overview和contents里的内容不一样 charles与fiddler区别_端口号_14

  3.  
     

  4. 打开fiddler,Rules –> Performances –> Simulate Modem Speeds 勾当选中此选项网速就会变很慢,这样就实现了弱网络效果

    charles overview和contents里的内容不一样 charles与fiddler区别_手机端_15

     fiddler抓数据后进行返回值修改