Fiddler、Charels利用电脑,利用代理的方式的方式进行抓包。其要依赖于电脑,只能在WIFI环境下运行,代码不开源。
Httpwatch:
HttpWatch是强大的网页数据分析工具,集成在Internet Explorer 工具栏。包括网页摘要、Cookies管理、缓存管理、消息头发送/接受、字符查询、POST 数据和目录管理功能、报告输出。支持 HTTPS及分析报告输出为XML、CSV等格式。
它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示 浏览器缓存和IE之间的交换信息。
在测试过程中主要关注Time、Received、Result三项的值。
Time是请求的耗时,需要注意耗时大的请求,因为在整个业务响应时间过程中,耗时长的请求是最有可能需要调优的。
Received是返回的字节数,在测试过程中需要关注返回字节数较大的需要,因为返回的字节数较大,会影响整个请求的耗时,它也是调优需要重点关注的内容。
Result是指请求响应的状态,需要关注其响应状态为非200的值,请求响应状态只有200是正确的,其他的都是异常的,如果请求出现异常情况,说明事务很有可能操作失败,这样直接影响了事务的成功率。
图示:
stream:
Stream 用于客户端本地抓包,配置简单,不需要改代理等繁琐操作,仅用于QA&开发本地网络调试。只是利用了 iOS 9+ 的 Network Extension Api,其实不具备连接 vpn 的功能。免费。
功能特点:
1. 抓取 HTTP&HTTPS 请求,其中 HTTPS 请求需要配置 CA 证书。
2. 访问抓包历史,预览请求体 (request body) 以及响应体 (response body),目前支持文本/JSON/文件/表单。
3. 支持构建请求和请求重放。高效调试服务端接口
4. 支持配置 Hosts,实现在电脑端的 Hosts 功能,用于前端开发以及移动端开发便捷的切换测试环境和线上环境。
5. 比较简单的支持打开 HAR 通用标准文件,可以将 Charles/Fiddler/Chrome/Firefox 等网络记录导出 HAR 然后在 Stream 打开并重放请求。
6. 完美适配 iPhone X 以及支持 iPad MutiTask。
除了免费外,它还有个最大的优势就是自带“数据重放”功能,这样一些简单的数据包就可以直接在手机上面进行拦截重放,无需再开电脑了。它自带的“常用工具”功能下,还有url编码转换、base64编码解码及MD5和时间戳功能,似乎是为网络人员量身定制,非常方便。
但是有的网站设置了添加了能检测是否使用代理连接的代码。一访问这些网站就被拦截。比如微信朋友圈。
使用方法:
1.开始抓包
2.抓包历史
3.抓包详情
Packet Capture:
Packet Capture 一个使用SSL网络解密的捕获数据包/网络嗅探 工具,利用安卓vpn的方式进行抓包,无需root,可以分析https包内容。解析文件不可以下载,代码不开源。
功能特点:
1.用于http/https网络流量嗅探的app、捕获网络数据包并记录下来、使用中间人技术进行SSL解密、流量还区分应用,无需root方便快捷。
2.以十六进制或文本来显示数据包。这个app使用了Android提供的VpnService api,实现了中间人攻击。
3.将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。
不需要root的原因:
packet capture是利用了系统api vpnservice,开启VPN service后,系统会产生一张虚拟的网卡,所有的流量都会通过这张网卡转给app,然后由app处理再转发到真实的网卡上。所以packet capture不需要root!
使用方法:
选择应用抓包可以只过滤出指定应用的请求,比较方便。
开始抓包时点击起始按钮,然后操作应用,结束操作后点击PackageCapture页面的停止抓包按钮。此次抓包记录就保存成一条记录,生成以开始抓包的时间命名的记录。
我们选择列表中的一条记录查看其中的内容。可见里面有抓包App的名称、host及端口号,协议类型、请求时间、是否是https、数据包的大小等信息。
再点击内容中的任意一条请求,可以查看这份请求的具体情况,请求里列出了请求体、请求url、请求方式、返回数据、返回值、返回值内容等。可以看到这条请求的全部信息,与fiddler、charles等wifi下抓包结果一致。
另外还可以点击右上角选择将该条请求的request或者response保存到文件中。