在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。常用的抓包工具有fiddler、wireshark、httpwatch、 firebug等。
今天主要介绍fiddler、httpwatch、wireshark。Fiddler作为代理web服务器,使用代理地址:127.0.0.1和端口:8888。
启动fiddler时,由于程序将自身作为代理,所以的http请求在到达目标服务器之前通过fiddler,同样,所有的http响应在返回客户端之前通过fiddler。
Tips :缺省情况下,fiddler不会捕获https会话。
在Fiddler中设置断点以更改请求
Fiddler最强大的功能不是设置断点。 设置断点后,可以修改http请求消息,包括主机、cookie和表单中的数据。 有两种方法可以设置断点。
第一,打开fiddler,然后单击规则自动断开请求。 (此方法将中断所有会话。 )
解决方法:单击“规则自动断开连接”
第二,在命令行中输入命令: bpu www.taobao.com。 这种方法只会中断www.baidu.com
解决方法:在命令行中输入bpu
设置断点更改响应
当然,fiddler也可以修改响应
第一,打开Fiddler,然后单击规则自动断开连接。 (此方法将中断所有会话。 )
解决方法:单击“规则自动断开连接”
第二,在命令行中输入命令: bpafter www.taobao.com。 此方法将中断www.taobao.com
解决方法:在命令行中输入命令bpafter
要更改响应方法,请执行以下操作:
选择rules-automatic breakpoint-afterrespinse,通过手机点击操作发送查询。
选择左侧区域的query,单击右侧的Raw,修改Raw内的返回结果,执行“Run to Completion”(运行到完成)
Wireshark是另一个捕获工具,Wireshark的配置比fiddler要麻烦一些。 如果没有代理,则必须安装Connectify以创建热点,然后安装和捕获Wireshark。 如果配置了代理,请直接安装Wireshark。
Wireshark (旧称Ethereal )是一种网络数据包分析软件。 网络数据包分析软件的功能是获取网络数据包,并尽可能显示详细的网络数据包数据。 Wireshark将WinPCAP用作接口,与网卡直接进行数据消息交换。
网络管理员使用wireshark检查网络问题
软件工程师使用wireshark抓取软件包,分析自己测试的软件
做套接字编程的工程师用wireshark进行调试
听说华为、中兴的大部分工程师都用wireshark
普通用户将使用Wireshark学习网络协议
WireShark主要分为这些接口
1. Display Filter (显示过滤器)、过滤用
2 .包列表面板。 显示捕获的数据包及其源地址、目标地址和端口号。 颜色不同,代表
3 .显示包中的字段3 .包详细信息面板
4.dissector pane (十六进制数据) ) ) ) )。
5. Miscellanous (地址栏和其他)。
使用过滤是非常重要的。 初学者使用wireshark的话,越难以找到需要的部分,就会得到越多的冗余信息。 头晕。
过滤器有助于从大量数据中快速查找所需的信息。
过滤器有两种,
一个是显示过滤器,它位于主界面中,用于从捕获的记录中查找所需的记录
一种是捕获过滤器,用于过滤捕获的数据包,而不捕获很多记录。 在捕获过滤器中设置
HttpWatch是一个功能强大的web数据分析工具,集成在Internet Explorer工具栏中。 无需使用代理服务器或复杂的网络监视工具,即可在查看网页的同时
显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE之间的交换信息。集成在Internet Explorer工具栏。只需要选择相应的网站,软件就可以对网站与IE之间的需求回复的通讯情况进行分析并在同一界面显示其相应日志记录。每一个HTTP记录都可以详细的分析其 Cookies、消息头、字符查询等信息。支持HTTPS及分析报告输出为XML、CSV等格式。
使用方法:打开IE浏览器,选择菜单"查看-浏览器栏",再选择"HttpWatch Professional"即可。
日志中有少量内容还是英文,汉化后会出错,故保留。提示:授权文件已经在根目录下的"httpwatch.lic"
为什么我喜欢用fiddler?
抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下:
Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。
Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。
Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。
希望对接口测试感兴趣的小伙伴能选择最适合自己实际情况的抓包工具,因为工具总是为人服务的。
Fiddler固然好,“抓到老鼠的才是好猫”。
最后欢迎大家加入我的软件测试学习交流群680748947~期待和你一起进步!