性能协议的抓包分析——大话性能测试(13)

发表于:2022-7-01 09:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡通    来源:51Testing软件测试网原创

  1.2.6性能协议的抓包分析
  在现实工作中,有比较完善的接口文档是比较幸运的,很多时候文档都是比较匮乏的,此时就需要用到抓包分析。另外,对于特殊的协议,相应的基本的抓包工具是必不可少的。
  1.Fiddler和Charles
  Fiddler和Charles都是常用的HTTP/HTTPS的抓包分析工具。Fiddler一般在Windows上用得比较多,Charles常用在macOS上。
  在Web开发中,我们无法看到Web浏览器/客户端和服务器之间发送和接收的内容,这种情况下想要确定错误在哪里是困难且耗时的。而通过使用Fiddler/Charles,我们可以很容易地看到这些内容,从而快速诊断和解决问题。Fiddler/Charles可以让开发者监视所有连接互联网的HTTP通信,包括请求、响应和HTTP头信息等。这主要用于网页的开发、调试、分析封包协议,以及模拟慢速网络。
  2.Tcpdump
  当涉及特殊协议(如SOAP)或者需要在服务器上抓取数据包时,可以釆用Tcpdump+Wireshark的方法。
  Tcpdump命令格式如下:
  tcpdump[-adeflnNOpqStvx][-c数量][-F文件名-i网络接口][-r文件名][-s抓取长度][-T类型][-w文件名][表达式]
  常用的参数为:
  -1表示将标准输出变为缓冲行形式;
  -n表示不把网络地址转换成名字;
  -c表示在收到指定的数目的数据包后,Tcpdump就会停止抓取;
  -i表示监听的网络接口(如果没有指定,则可能在默认网卡上监听,需要指定绑定了特定IP的网卡);
  -w表示直接将数据包写入文件中,并不分析和打印出来;
  -s耘抓取娜包的长度,常见-s0,代表最大值65535,一般Linux传输最小单元(MTU)为1500。
  常用表达式有:
  关于类型的关键字,主要包括host、net、port;
  传输方向的关键字,主要包括src、dst^dstorsrc、dstandsrc;
  协议的关键字,主要包括IP、arp、rarp、TCP、UDP等;
  逻辑运算,取非运算是not、!;与运算是and、&&;或运算是or、||。
  要让Wireshark能分析Tcpdump抓取的数据包,关键的地方是-s参数设置,并且要将抓取的数据包保存至-w参数设置的文件中。参看下面的例子:
./tcpdumptcp-ieth1-t-s 0-c100 anddst port! 22and src net192.168.1.0/24-w./target.cap
  tcp、udp、icmp等选项都要放到第一个参数的位置,用来过滤数据包的类型。
  -iethl表示只抓取经过接口ethl的数据包。
  -t表示不显示时间戳。
  -s0表示抓取数据包时默认抓取长度为68字节。设置-s0后可以抓到完整的数据包。
  -clOO表示只抓取100个数据包。
  dstport!22表示不抓取目标端口是22的数据包。
  srcnet192.168.1.0/24表示数据包的源网络地址为192.168.1.0/24?
  -w./target.cap表示保存成cap文件,方便用Wireshark分析。
  3.Chrome浏览器的调试模式
  对于Web类项目,最常用和最简单的方法就是通过Chrome浏览器的调试模式,如图1-6所示,在Chrome浏览器中按F12键进入调试模式。在调试模式下,我们可以快速查看HTTP的相关信息,方便快捷。
图1-6Chrome浏览器调试模式下的Network界面
查看《大话性能测试》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号