网站建设及优化 赣icp,做网站找人,好用的磁力搜索引擎,个人网站需要备案TCP 协议是在传输层中#xff0c;一种面向连接的、可靠的、基于字节流的传输层通信协议。
环境准备
对接口测试工具进行分类#xff0c;可以如下几类#xff1a;
网络嗅探工具#xff1a;tcpdump#xff0c;wireshark代理工具#xff1a;fiddler#xff0c;charles一种面向连接的、可靠的、基于字节流的传输层通信协议。
环境准备
对接口测试工具进行分类可以如下几类
网络嗅探工具tcpdumpwireshark代理工具fiddlercharlesanyproxyburpsuitemitmproxy分析工具curlpostmanchrome Devtool
抓包分析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 请求
在百度上搜 mp3 http://www.baidu.com/s?wdmp3用 tcpdump 截获这个 get 请求并生成 log用 wireshark 打开 tcpdump 生成的 log
使用 wireshark 查看 log log 的前几段信息是三次握手。因为信道是不可靠的在发送数据前就必须确保信道稳定而三次握手就像是下面这些操作
第一次握手建立连接时客户端发送 syn 包synj到服务器并进入 SYN_SENT 状态等待服务器确认。第二次握手服务器收到 syn 包必须确认客户的 SYNackj1同时自己也发送一个 SYN 包seqk即 SYNACK 包此时服务器进入 SYN_RECV 状态第三次握手客户端收到服务器的 SYNACK 包向服务器发送确认包 ACKackk1此包发送完毕客户端和服务器进入 ESTABLISHEDTCP 连接成功状态完成三次握手。
经过三次握手就可以进一步交流就像下面这样 结束交流时也需要进行四次挥手 第一次挥手客户端向服务器端发送一个 FIN请求关闭数据传输。第二次挥手服务器接收到客户端的 FIN向客户端发送一个 ACK其中 ack 的值等于 FINSEQ。第三次挥手服务器向客户端发送一个 FIN告诉客户端应用程序关闭。第四次挥手客户端收到服务器端的 FIN回复一个 ACK 给服务器端。其中 ack 的值等于 FINSEQ。
注意 一个请求可能分为多个包一个数据也是这样于是在 wireshark 会看到很多包。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你