当前位置: 首页 > news >正文

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

目录

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

写在前面

一直都是抓本地的包,这次试着抓一下用公有云ECS做实验的包。
与平常的本地虚拟机相比,相同实验环境需多出2部,会标记出。

环境准备

宿主机:笔记本Win11Wireshark:3.6.7
虚拟机:Ctyun ECSOS:openEuler22.03EIP:需绑定一个弹性公网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抓包工具

  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,其他很多协议也有相同的合并报文的操作。

在这里插入图片描述

http://www.lryc.cn/news/350200.html

相关文章:

  • 【Day3:JAVA运算符、方法的介绍】
  • Chrome查看User Agent的实战教程
  • Linux 第三十四章
  • 国际化日期(inti)
  • 【论文阅读笔记】jTrans(ISSTA 22)
  • 单位个人如何向期刊投稿发表文章?
  • Redis数据结构-RedisObject
  • Vue 中使用 el-date-picker 限制只能选择当天、当天之前或当天之后日期的方法详解
  • 系列介绍:《创意代码:Processing艺术编程之旅》
  • 深度学习设计模式之抽象工厂模式
  • K8s是什么?
  • 【网站项目】SpringBoot796水产养殖系统
  • Vue详细介绍
  • 声纹识别的对抗与防御
  • C++ QT设计模式总结
  • 洛谷 P3203:弹飞绵羊 ← 分块算法(单点更新、单点查询)
  • 程序验证之Dafny--证明霍尔逻辑的半自动化利器
  • Flutter 中的 SafeArea 小部件:全面指南
  • webpack生成模块关系依赖图示例:查看构建产物的组成部分 依赖关系图
  • Spacy的安装与使用教程
  • Pathlib,一个不怕迷路的 Python 向导
  • 详解绝对路径和相对路径的区别
  • C++二叉搜索树搜索二叉树二叉排序树
  • Java 自然排序和比较器排序区别?Comparable接口和Comparator比较器区别?
  • 【CV】opencv调用DIS/LK等计算光流,前一帧和当前帧写反了有什么影响?
  • C语言学习细节|C语言面向对象编程!函数指针如何正确使用
  • C语言简要(一)
  • 那些年我与c++的叫板(一)--string类自实现
  • 二刷算法训练营Day08 | 字符串(1/2)
  • 使用高防IP是应对网络安全的重要措施