抓包工具介绍
抓包工具介绍
- 抓包工具介绍
- whistle
- 启动whistle
- 重启whsitle
- 停止whistle
- 调试模式启动whistle(主要用于查看whistle的异常及插件开发)
- 更新whistle
- whistle界面操作快捷键
- Charles
- Charles主要功能
- 代理基本设置
- 抓取https请求设置
- 分析抓取的数据包
- Charles弱网模拟
- 内容替换
- whistle
whistle
- Github地址
- 具体说明文档
- whistle是一款用Node实现的跨平台的Web调试代理工具,支持查看修改http(s)、Websocket连接的请求和响应内容
最新版本的whistle支持三种等价的命令whistle、w2、wproxy
启动whistle
$ w2 start
重启whsitle
$ w2 restart
停止whistle
$ w2 stop
调试模式启动whistle(主要用于查看whistle的异常及插件开发)
$ w2 run
更新whistle
# 以下命令都可以更新whistle
$ npm install -g whistle
# or
$ npm update -g whistle
# or
$ npm install -g whistle --registry=https://registry.npm.taobao.org
# or
$ npm update -g whistle --registry=https://registry.npm.taobao.org
- 更新成功后,重启 whistle
$ w2 restart
whistle界面操作快捷键
- 清空请求列
Ctrl + X(Mac用Command + X):
- 如果是焦点在下面的过滤输入框,可以清空输入框的内容
- 如果焦点在Network的其它地方,可以删除选中的请求项
Ctrl + D(Mac用Command + D):
Charles
- 官方网站
- 是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)
Charles主要功能
- 支持SSL代理。可以截取分析SSL的请求。
- 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
- 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
- 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 检查HTML,CSS和RSS内容是否符合W3C标准。
代理基本设置
调出端口设置页面
菜单栏操作 Proxy->Proxy Settings...
设置端口
选中Proxies面板->HTTP Proxy 下的Port: 后填入 8888 -> 点击OK完成
设置手机代理
打开WLAN设置->进入链接的WiFi的设置。代理处选择手动->主机名设置为安装Charles的主机的IP->端口输入Charles设置的端口号->点击确定完成(苹果手机返回就行)主机IP,在终端打 ifconfig ,找到类似 192.168.199.248
抓取https请求设置
手机安装证书
菜单栏操作 Help->SSL Proxing->Install Charles Root Certificate on a Mobile Device or Remote Browser弹出下文中的资料,在手机浏览器中输入,chls.pro/ssl,安装相应证书
Configure your device to use Charles as its HTTP proxy on 192.168.199.248:1208, then browse to chls.pro/ssl to download and install the certificate.
Charles设置代理https
菜单栏操作 Proxy->SSL Proxying Settings... 开启SSL代理->输入要抓取https接口的域名->OK
如果还抓取不到https
- 【Proxy】=>【SSL Proxying Settings】
- 勾选 Enable SSL Proxying
- Host 表示你要抓取的 ip 地址或是链接,Port 填写 443 即可
- 注:Port不填写443后续还是抓不到,这个坑我踩了
如果还抓取不到
- 检查你的手机是不是 iOS 10.3 及以上版本,如果是的话的还需要进入 手机设置->通用->关于本机->证书信任设置,如下图,证书选择信任就可以了
分析抓取的数据包
Charles 主要提供两种查看封包的视图
- Structure 视图将网络请求按访问的域名分类
- Sequence 视图将网络请求按访问的时间排序
Charles弱网模拟
- 菜单中选择【Proxy】--->【Throttle Settings..】-à激活【Enable Throttling
- 在Throttle Configuration设置弱网的参数
- 2G3G4G频率分配和网络制式
内容替换
- 选中文件,选择菜单【Proxy】--->【Tools】--->【Map Local Settings】--->【add】
- 选中文件,右键选择【Edit Mapping】或者
- 然后设置自己要替换的文件就可以了