使用 wireshark 分析 TCP 通信流程
使用 wireshark 分析 TCP 通信流程
一、wireshark是什么?
wireshark是 windows 下的一个网络抓包工具. 虽然 Linux 命令行中有 tcpdump 工具同样能完成抓包, 但是 tcpdump 是纯命令行界面, 使用起来不如 wireshark 方便.
二、使用步骤
1.下载 wireshark
或者 链接: 提取码:k79r
安装 wireshark 直接双击安装, 没啥太多注意的.
2.启用 telnet 客户端
在开始程序里,打开控制面板 在控制面板里,点击“程序”选项 在程序选项下,点击“启动或关闭Windows功能” 在打开的对话框中,找到“Telnet客户端”并且勾选。然后点击“确定”,等待几分钟,系统将会为你开启telnet客户端服务。 为了验证Telnet服务命令是否开启成功,我们可以在cmd命令行下测试一下,这个时候就不会再提示telnet命令无法找到了。
telnet www.baidu.com 80
2.启动 wireshark 并设置过滤器
ip.addr == [服务器 ip]
则只抓取指定ip的数据包. 或者在过滤器中写入
tcp.port == 9090
3.观察三次握手过程
启动好服务器. 使用 telnet 作为客户端连接上服务器
telnet [ip] [port]
抓包结果如下: 观察三个报文各自的序列号和确认序号的规律. 在中间部分可以看到 TCP 报文详细信息
4.观察确认应答
在 telnet 中输入一个字符 可以看到客户端发送一个长度为 1 字节的数据, 此时服务器返回了一个 ACK 以及一个 9 个字节的响应(捎 带应答), 然后客户端再反馈一个 ACK(注意观察 序列号和确认序号)
5.观察四次挥手
在 telnet 中输入 ctrl + ], 回到 telnet 控制界面, 输入 quit 退出. 实际上是 “三次挥手”, 由于捎带应答, 导致其中的两次重合在了一起.
总结
以上就是今天要讲的内容