其他分享
首页 > 其他分享> > 接口协议之抓包分析 TCP 协议

接口协议之抓包分析 TCP 协议

作者:互联网

本文节选自霍格沃兹测试学院内部教材

TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。

环境准备

对接口测试工具进行分类,可以如下几类:

抓包分析TCP协议

tcpdump

tcpdump是一款 将网络中传送的数据包的“头”完全截获下来提供分析 的工具。它支持针对网络层、协议、主机、网络或端口的过滤,并提供
and、or、not 等逻辑语句去掉无用的信息。

让 tcpdump 时刻监听 443 端口,如果有异样就输入到 log 文件中

        sudo tcpdump port 443 -v -w /tmp/tcp.log

利用这条命令,会把得到的报告放到目录 /tmp/tcp.log 中。

常用参数含义
port 443监听 443 端口
-v输出更加详细的信息
-w把数据写到 log 中

wireshark

wireshark 也是一款网络嗅探工具,它除了拥有 tcpdump
功能,还有更多扩展功能,比如分析工具,但是在接口测试中,抓包过程往往都是在服务器进行,服务器一般不提供 UI 界面,所以 wireshark
无法在服务器工作,只能利用 tcpdump 抓包生成 log,然后将 log 给 wireshark 导入使用,在有 UI 界面的客户端上进行分析。

抓包分析TCP协议

抓取一个 http 的 get 请求:

  1. 在百度上搜 mp3"http://www.baidu.com/s?wd=mp3"
  2. 用 tcpdump 截获这个 get 请求,并生成 log
  3. 用 wireshark 打开 tcpdump 生成的 log
    使用 wireshark 查看 log:

log 的前几段信息是三次握手,原因是信道是不可靠的,在发送数据前,就必须确保信道稳定,而三次握手就像是下面这些操作:

结束交流时,也需要进行挥手:四次挥手:

tips

一个请求可能分为多个包,一个数据也是这样,于是在 wireshark 会看到很多包。

** _
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
QQ交流群:484590337
公众号 TestingStudio
视频资料领取:https://qrcode.testing-studio.com/f?from=CSDN&url=https://ceshiren.com/t/topic/15844
点击查看更多信息

标签:协议,log,接口协议,TCP,测试,服务器,wireshark,tcpdump,客户端
来源: https://blog.csdn.net/weixin_46635091/article/details/122153012