公有云Linux模拟TCP三次挥手与四次握手(Wireshark抓包验证版)

目录

  • 写在前面
  • 环境准备
  • 实验步骤
    • [1. 安装`nc`工具](#1. 安装nc工具)
    • [2. 使用nc打开一个连接](#2. 使用nc打开一个连接)
      • [2.1 公有云-安全组放行对应端口(可选)](#2.1 公有云-安全组放行对应端口(可选))
    • [3. 打开Wireshark抓包工具](#3. 打开Wireshark抓包工具)
    • [4. 新开终端,进行连接](#4. 新开终端,进行连接)
    • [5. 查看抓包文件,验证TCP三次握手与四次挥手](#5. 查看抓包文件,验证TCP三次握手与四次挥手)

写在前面

一直都是抓本地的包,这次试着抓一下用公有云ECS做实验的包。

与平常的本地虚拟机相比,相同实验环境需多出2部,会标记出。

环境准备

shell 复制代码
宿主机:笔记本Win11
       Wireshark:3.6.7
虚拟机:Ctyun ECS
       OS:openEuler22.03
       EIP:需绑定一个弹性公网ip

实验步骤

1. 安装nc工具

该实验需要使用到nc命令打开端口,一般这个不是默认安装的

shell 复制代码
#确定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端口的连接

shell 复制代码
nc -kl 9999

#-k:保持连接
#-l:打开端口

2.1 公有云-安全组放行对应端口(可选)

如果实验环境是公有云,需要在对应ECS的安全组中放行在步骤2中用nc指定打开的端口

3. 打开Wireshark抓包工具

  1. 打开wireshark,选择当前连接互联网的网卡,我这里是WLAN无线网卡

  2. 因为公网网卡包过多,提前过滤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,其他很多协议也有相同的合并报文的操作。

相关推荐
Unstoppable221 小时前
八股训练营第 8 天 | TCP连接三次握手的过程?TCP连接四次挥手的过程?HTTP的Keep-Alive是什么?
网络·tcp/ip·http·八股
0和1的舞者2 小时前
网络的奥秘:HTTPS详解(八)
网络·网络协议·tcp/ip·http·https·四大件
Maple_land3 小时前
Linux复习:冯·诺依曼体系下的计算机本质:存储分级与IO效率的底层逻辑
linux·运维·服务器·c++·centos
李的阿洁4 小时前
k8s中的容器服务
linux·容器·kubernetes
谢景行^顾5 小时前
数据结构知识掌握
linux·数据结构·算法
人工智能训练6 小时前
如何在 Ubuntu 22.04 中安装 Docker 引擎和 Linux 版 Docker Desktop 桌面软件
linux·运维·服务器·数据库·ubuntu·docker·ai编程
好望角雾眠6 小时前
第四阶段C#通讯开发-5:TCP
网络·笔记·网络协议·tcp/ip·c#
Maple_land7 小时前
Linux复习:系统调用与fork
linux·运维·服务器·c++·centos
无聊的小坏坏7 小时前
Poll 服务器实战教学:从 Select 迁移到更高效的多路复用
linux·服务器·poll·io多路复用
WAsbry7 小时前
InputConnection机制与跨进程文本操作的工程实践
android·linux