TCP 连接未必都是用TCP协议沟通

news/2025/3/31 11:35:00/

确实,一般来说 TCP 连接是标准的 TCP 三次握手完成的:

1.客户端发送 SYN;
2.服务端收到 SYN 后,回复 SYN+ACK;
3.客户端收到 SYN+ACK 后,回复 ACK。

SYN 会在两端各发送一次,表示“我准备好了,可以开始连接了”。ACK 也是两端各发送了一次,表示“我知道你准备好了,我们开始通信吧”。
4个报文3次发送,这是因为服务端的 SYN 和 ACK 是合并在一起发送的,就节省了一次发送。这个在英文里叫 Piggybacking,就是背着走,搭顺风车的意思。

需要参考《OpenResty使用Lua搭建一个服务器实践tcpdump对特定端口抓包》先搭建一个服务器。

左边两个是客户端,右边是服务端,iptables -I INPUT -p tcp --dport 8084 -j DROP的实验如下:
在这里插入图片描述
左边两个是客户端,右边是服务端,iptables -A INPUT -p tcp -m tcp --dport 8084 -j REJECT --reject-with icmp-host-unreachable无法达到课程里边的效果。
在这里插入图片描述

左边两个是客户端,右边是服务端,iptables -I INPUT -p tcp --dport 8084 -j REJECT --reject-with tcp-reset得到效果跟课程里边的一样。
在这里插入图片描述

此文章为5月Day 23学习笔记,内容来源于极客时间《网络排查案例课》。


http://www.ppmy.cn/news/79143.html

相关文章

Windows GUI自动化控制工具之python uiAutomation

对 Windows GUI进行自动化控制的工具有很多,比如pywinauto、pyautogui、pywin32、Autoit、airtest、UIAutomation等,UI Automation API是微软提供的自动化框架,可在支持 Windows Presentation Foundation (WPF) 的所有操作系统上使用&#xf…

结构体入门调试技巧

目录 前言: 一.结构体 1.1结构体的初始化和访问 二.结构体传参 三.调试技巧 3.1VS里的版本 3.2调试功能介绍 四.好代码 4.1const修饰指针的两种位置 五.错误分类 ❤博主CSDN:啊苏要学习 ▶专栏分类:C语言◀ C语言的学习,是为我们今…

拿了7家大厂offer后,整理出来的笔记.....

我第一次接触自动化是在2016年。那时刚毕业一年有余,组内一直做手工功能测试,大概在2018年9月,部门领导要求测试组引入自动化。组内之前从没有开展过任何自动化,测试主管安排了一个刚入职不久的研究生同事去研究。 当时自己内心还…

es 7 Es分布式基础

目录 复杂特性es已经做了分片副本负载均衡实现 设置分片数副本数 双机器读写 自动横向扩容 Node 节点宕机主节点切换 数据路由 增删改操作 读操作 _bulk 复杂特性es已经做了分片副本负载均衡实现 1.每个索引包含多个分片 设置分片数副本数 双机器读写 自动横向扩容 No…

原生input用法 总结

1:默认数字空间 隐藏 input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; } input[type"number"] { -moz-appearance: textfield; } 重置 input::-webkit-outer-spin-button, input::-webkit-inner-spin…

Python入门指南:探索无限可能的编程世界

目录 方向一:你是如何学习/自学 Python 的?方向二:Python 的练手项目有哪些值得推荐?方向三:Python 有哪些入门学习方法和值得推荐的经典教材?方向四:怎么用最短时间高效而踏实地学习 Python&am…

5月跳槽会有风险,不跳也会有?

今天讲讲跳槽。 说实话跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。 其次,我们离职和跳槽,其中的原因很大一部分是目前薪资不符合预期。 那…

2.9 playwright之python实现

1、目录结构如下 2、main.py import os import shutilfrom playwright.sync_api import sync_playwright from config.setting import config from utils.template import Template from utils.md5 import Md5 from utils.delete import del_files import pytest from utils.d…