2023-11-16 16:14:26
网页抓包是通过工具捕获浏览器或应用与服务器间的网络请求/响应数据,用于调试、测试或安全分析。以下是工具推荐、HTTPS抓包方法、本机代理流程及实战步骤的详细说明:
一、网页抓包工具推荐(按场景分类)浏览器 DevTools(Chrome/Edge/Firefox)
侧重点:页面级请求、资源加载时间、Fetch/XHR、WebSocket。
优点:无需安装,直接查看请求头、响应体、时间线(TTFB、Content Download)。
局限:无法捕获跨设备流量或系统级加密流量。
Charles/Fiddler/Proxyman
侧重点:代理式抓包、请求修改、重放、HTTPS解密。
优点:操作直观,适合本地开发调试与远端联调。
局限:遇到SSL Pinning或双向验证时失效。
Sniffmaster(抓包大师)
侧重点:iOS/Android真机抓包、直连/本机代理双模式、HTTPS解密、指定App流量捕获。
优点:支持USB直连绕过Pinning,支持脚本拦截与PCAP导出。
局限:需学习两种抓包模式,上手门槛较高。
Burp Suite
侧重点:安全测试、主动攻击模拟、漏洞扫描。
优点:功能强大,适合渗透测试。
局限:学习曲线长,偏安全方向。
Wireshark
侧重点:网络层抓包(TCP/TLS/DNS),分析底层握手与丢包。
优点:可查看TLS握手阶段、重传、延迟等细节。
局限:无法直接解密HTTPS(需私钥或会话密钥)。
mitmproxy
侧重点:脚本化拦截、自动化测试、异常场景模拟。
优点:高度可定制,适合CI集成。
局限:命令行操作,需编程基础。
代理证书安装
在Charles/Fiddler/Sniffmaster中生成代理证书,并手动安装到系统或浏览器信任库。
iOS/Android:需在设备设置中安装证书,并开启“信任根证书”选项。
直连抓包(Sniffmaster)
适用场景:目标应用启用了SSL Pinning或客户端证书验证。
操作步骤:
使用USB连接设备,选择“直连模式”。
捕获指定App的流量,绕过系统代理与证书限制。
会话密钥导出(Wireshark)
若拥有服务器私钥,可在Wireshark中配置SSL协议解析,输入私钥路径解密流量。
配置代理
将浏览器或系统代理指向抓包工具(如127.0.0.1:8888)。
示例:Chrome设置中搜索“代理”,选择手动配置,填入工具IP和端口。
安装证书
访问工具提供的证书下载链接(如
开启HTTPS解密
在工具中启用SSL/TLS解密功能,部分工具需单独配置目标域名。
过滤与抓包
设置域名、路径或方法过滤规则,减少噪声。
示例:在Charles中右键请求,选择“Focus”聚焦特定域名。
浏览器DevTools初步排查
打开Chrome DevTools的Network面板,刷新页面。
检查请求状态码(如404/500)、响应时间、请求头/响应头。
代理工具深度分析
使用Charles/Proxyman捕获流量,修改请求参数或重放请求,验证后端逻辑。
示例:修改Authorization头模拟不同用户权限。
脚本化自动化测试
用mitmproxy编写脚本,批量修改请求或模拟异常场景。
代码示例:def request(flow): if "api/login" in flow.request.url: flow.request.headers["X-Test"] = "True"
高安全场景处理
若代理失效(如Pinning),切换Sniffmaster直连模式或USB抓包。
iOS操作:
连接设备,打开Sniffmaster选择目标App。
捕获流量并导出PCAP,用Wireshark分析TLS握手。
底层网络问题定位
导出PCAP文件,在Wireshark中过滤tls.handshake或tcp.retransmission。
关键字段:ClientHello(客户端支持的加密套件)、ServerHello(服务器选择套件)。
接口返回401/403
检查请求头中的Authorization、Cookie是否正确。
用代理工具修改请求重放,确认后端校验逻辑。
跨域(CORS)错误
在代理中观察响应头Access-Control-Allow-Origin是否包含目标域名。
临时修改响应头为*,验证是否为浏览器拦截。
移动端抓包失败
iOS:确认证书信任,若启用Pinning则用Sniffmaster直连。
Android:未root设备可用代理模式或ADB转发:adb forward tcp:8888 tcp:8888 # 将设备端口转发到电脑
资源加载慢
DevTools的Waterfall查看时间线,区分后端延迟(TTFB高)或网络抖动(重传多)。
用Wireshark抓包分析TCP重传或TLS握手耗时。
掌握网页抓包需理解工具定位与流程组合:从浏览器调试到代理工具,再到脚本化与底层分析,灵活应对接口异常、HTTPS加密、跨域等问题,显著提升排查效率。