![](https://i-blog.csdnimg.cn/blog_migrate/ffcb66933169b9d2f904cb4da2d0691c.jpeg)
简介:
抓包工具有哪些:常见的抓包工具有fiddler,wireshark ,charles, HttpWatch, firebug 等
Charles的基本功能使用
![](https://i-blog.csdnimg.cn/blog_migrate/6433ff9281cd1c1c3b036f99bcdf478c.jpeg)
Charles简介:charles是一款常用的截取网络抓包的工具,因为他是基于 java 开发的,所以跨平台,Mac、Linux、Window下都是可以使用的,确保安装之前已经安装了JDK。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
手机端使用charles进行抓包:
第一步,在charles里设置允许手机联网的权限;你需要把charles设置为允许的状态并且设置允许的端口号,这样手机端才能正常的接入;
在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口号(注意,端口不一定填写8888,也可以写别的端口,但是需要记住因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图;
![](https://i-blog.csdnimg.cn/blog_migrate/67172f24a19af501640f5c772c9298ee.png)
查看当前电脑ip地址:可以直接用cmd ipconfig 进行查看地址。或者直接在Charles--help--Local IP Address 进行查看地址。(ip地址需要与手机配对)
可以任意打开一个浏览器输入一下地址进行验证,Charles会弹出提示。
![](https://i-blog.csdnimg.cn/blog_migrate/34e9a94571b171b9e6d7a32c74244b63.png)
第二步,把手机按照charles的IP和端口进行配置;(手机和电脑网络在同一个wifi)
在iPhone的 “设置”->“无线局域网“可以看到当前连接的wifi名,点击右边的详情键,进入到连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号填写你在charles的端口号
![](https://i-blog.csdnimg.cn/blog_migrate/61ea0f3c4ff0052cab3a653fb8fa24e2.png)
第三步,手机配对成功后,charles还会弹窗是否允许;
设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单
如上图的弹窗,点击允许即可;此时已经配对成功,开始愉快的抓包吧;
Fiddler使用
Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。下载地址 :Download Fiddler Web Debugging Tool for Free by Telerik
fiddler可以通过File-Capture Traffic 进入开始/结束抓取数据。以下是对应名称的解释。
![](https://i-blog.csdnimg.cn/blog_migrate/364fa2c05543c28be2f28e7e52a28252.png)
Filters 请求过滤规则
Filters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,
勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host
1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:
![](https://i-blog.csdnimg.cn/blog_migrate/2e90d57a15fbcf8d4d77f553c49d563b.png)
2、Host 指定显示某个域名下的会话:
![](https://i-blog.csdnimg.cn/blog_migrate/635799af50dae9f10180c272e7539c14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0fc3d20030c33bd4b12771c02d7d71d5.png)
如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可
手机连接进行抓包
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
![](https://i-blog.csdnimg.cn/blog_migrate/5301103a8f50458fee466908c931932f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b8518cacd0eadb9e809ede6f45757c94.png)
…from all processes :抓所有的请求
…from browsers only :只抓浏览器的请求
…from non-browsers only :只抓非浏览器的请求
…from remote clients only:只抓远程客户端请求
(3)Connection设置如下图,端口号设为8888
2.手机端添加代理
注:电脑联网和手机联网在一个局域网,手机和电脑都是连的公司网络 苹果手机和安卓手机是一样的设置
手机端设置-WLAN中给网络设置代理,选中连接的WLAN,对该网络进行编辑,代理中选择手动,主机名填写电脑的ip地址(电脑cmd-ipconfig),端口写刚刚fiddler写的端口8888。
手机浏览器上输入手机端用浏览器访问http://IP:端口,用电脑的端口和fiddler设置的端口访问安装证书,访问网络,观察fiddler能否成功抓包
![](https://i-blog.csdnimg.cn/blog_migrate/4d92f456ac389b1f1f94cf9563c5615e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/90068581fc403bbb3b2c3364c7e68dba.png)
fiddler弱网模式调节
Rules – Customize Rules(快捷键Ctrl + R)或者直接选择网站后右边打开Fiddler Script
在界面找(m_SimulateModem),直接修改上行上传速度/下行下载速度的参数,如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=100ms,就改成100。
![](https://i-blog.csdnimg.cn/blog_migrate/88acae75fa93cefb1179e0eac8100d8c.png)
打开fiddler,Rules –> Performances –> Simulate Modem Speeds 勾当选中此选项网速就会变很慢,这样就实现了弱网络效果
fiddler抓数据后进行返回值修
![](https://i-blog.csdnimg.cn/blog_migrate/a252787ee28ccf6a500aae3f270d0002.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/3eee67b8df8b6a23921a187a0188542c.png)