目录
- 写在前面
- 环境准备
- 实验步骤
- 1. 安装`nc`工具
- 2. 使用nc打开一个连接
- 2.1 公有云-安全组放行对应端口(可选)
- 3. 打开Wireshark抓包工具
- 4. 新开终端,进行连接
- 5. 查看抓包文件,验证TCP三次握手与四次挥手
- TCP三次握手
- 数据传输
- TCP四次挥手
写在前面
一直都是抓本地的包,这次试着抓一下用公有云ECS
做实验的包。
与平常的本地虚拟机相比,相同实验环境需多出2
部,会标记出。
环境准备
宿主机:笔记本Win11
Wireshark:3.6.7
虚拟机:Ctyun ECS
OS:openEuler22.03
EIP:需绑定一个弹性公网ip
实验步骤
1. 安装nc
工具
该实验需要使用到nc
命令打开端口,一般这个不是默认安装的
#确定nc所在软件包
yum provides nc
Last metadata expiration check: 2:14:22 ago on 2024-05-12T16:50:35 CST.
nmap-2:7.92-4.oe2203sp2.x86_64 : A tool for
...: network discovery and security
...: auditing.
Repo : OS
Matched from:
Provide : nc
#安装nmap
yum install -y nmap
2. 使用nc打开一个连接
使用以下命令,打开9999端口的连接
nc -kl 9999
#-k:保持连接
#-l:打开端口
2.1 公有云-安全组放行对应端口(可选)
如果实验环境是公有云,需要在对应ECS的安全组中放行在步骤2
中用nc
指定打开的端口
3. 打开Wireshark抓包工具
-
打开wireshark,选择当前
连接互联网
的网卡,我这里是WLAN无线网卡
。
-
因为公网网卡包过多,提前过滤
tcp.port==9999
,以便观察。
4. 新开终端,进行连接
可以通过telnet ip 端口
的方式连接该端口。如果是公有云主机,没做步骤3.1
的话,将可能无法连接。
5. 查看抓包文件,验证TCP三次握手与四次挥手
此时回到Wireshark查看抓包
TCP三次握手
下图红框框住的就是tcp三次握手的报文。
关于具体的TCP三次握手不在本文赘述,如不了解,请自行搜索
数据传输
定位到PSH
标志位的数据包,通过右键该数据包,追踪流
->TCP流
。我们可以看到这次数据传输时传输的内容。
因此使用的是
telnet
连接,所以可以查看到内容。
TCP四次挥手
下图被红框框住的3个
数据包,就是TCP四次挥手。
TCP四次挥手第2和第3个包分别是ACK和FIN标志位的包。
实际上,主机会将这两个包合并发送
出来,以提高效率、减小开销
。
这不仅仅存在于TCP,其他很多协议也有相同的合并报文的操作。