引题
工作中经常遇到需要分析http请求,很多小伙伴还不会用,这里简单给大家说明一下。
1. 王牌Tcpdump
1.1 简介
功能强大的终端抓包工具,官网http://www.tcpdump.org/,支持各种平台。
使用详见: https://www.tcpdump.org/manpages/tcpdump.1.html
1.2 常见用法
1 | # tcpdump -vv // 终端直接输入结果 |
1.3 分析包WireShark
上面简单的命令记一下,大概过滤一下就可以了,抓到包可以保存到文件再使用wireShake分析。
2. Charles
Mac下前端开发必备神器,愿意会付钱购买的好工具。
2.1 浏览器基本抓包
浏览器添加代理插件
SwitchyOmega: https://github.com/FelisCatus/SwitchyOmega
2.2 Map Remote
把一个域请求转发到另一个域请求
2.3 Map Local
把一个请求转到本直文件,请求会直接返回本地文件。应用场景,PC线上页面调试。
2.4 Mirror
把指定条件请求和响应保存到本地文件系统。可以先把某些请求全部缓存到本地,实现离线调试页面。
2.5 手机抓包
2.6 Android手机https抓包
安装Charles提供的证书后就可以实际https抓包。
2.7 其它用法
3. PostMan
3.1 下载PostMan独立安装版,不是Chrome插件版。
3.2 浏览器配置代理
3.3 抓到包如下:
3.4 环境配置变量化:
3.5 编写脚本获取登录sessionId:
3.6 其它请求就可以使用这个sessionId:
4. 自动化抓包流程
前面介绍PostMan也以抓包录制自动脚本,也可以用Charles抓包。Charles好的好处就是支持HTTPS。
下面介绍Charlse抓包后导入PostMan过程:
4.1 Charles选中要导入请求右键导出,选择类型HTTP Archive (.har)格式
4.2 Postman不能直接导入har格式,这里中间使用Restlet Client转换一下.
Chrome插件Restlet Client支持导入PostMan格式和.har格式,所以使用这个做中间转换,另外Restlet Client也是很好用的http请求模拟插件.