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

TCP自传:我凭三次握手,成为计网考研必考顶流(附wireshark抓包验证)

大家好我是TCP。欢迎来探索我哈哈哈。一、我的自述为什么要讲清我的“三次握手”我是TCP传输层里最操心、最可靠的协议。从计算机网络课本到考研真题再到后端开发面试我永远是高频考点。很多同学背我的三次握手背到头疼死记SYN、ACK、序列号却不知道我到底在干嘛。今天我就以自传的形式把我建立连接的核心——三次握手从原理到实操、从考点到踩坑一次性讲透。看完你不用死记硬背也能彻底懂我。二、先说说我为什么一定要“握手”我和UDP不一样UDP是“不管不顾发消息”而我是面向连接、可靠传输的协议。在正式给对方传数据之前我必须确认两件事1. 客户端和服务端收发功能都是正常的2. 双方商量好传输的初始序号避免历史连接干扰数据。这个确认的过程就是我最出名的三次握手这不是多余的步骤是我保证可靠的底线。三、我的核心仪式三次握手全过程下面就是我建立连接的完整流程我会以第一视角带你走完每一步搭配wireshark抓包一眼看懂。图校园网环境下捕获的TCP三次握手真实抓包仅展示前两次握手第三次为 [ACK] 包源IP为我的内网 172.27.23.174 目标IP为百度服务器 116.172.86.31 。第一次握手我主动发出“见面申请”发起方是客户端它想和服务端建立连接就会以我的名义发出第一个包标志位SYN1同步报文段代表请求建立连接随机生成初始序列号ISNx比如x123456绝对不固定这是考点此时客户端状态SYN_SENT已发送同步请求等待回复抓包里能清晰看到SYN标志被点亮这是我们相遇的第一步。第二次握手我收到申请给出“双向回应”服务端收到我的SYN包后立刻给客户端回信这一个包干了三件事1. 确认收到客户端的请求ACK1确认号 客户端ISN 1 x12. 服务端也发出自己的连接申请SYN1随机生成自己的初始序列号ISNy3. 告诉客户端我已经准备好连接了此时服务端状态SYN_RCVD已收到同步等待最终确认抓包里会同时出现SYNACK标志这是连接建立的关键一步。第三次握手我完成最终确认连接正式生效客户端收到服务端的SYNACK后马上回最后一个包标志位ACK1确认号 服务端ISN 1 y1此时客户端状态ESTABLISHED连接已建立服务端收到这个ACK后状态也变为ESTABLISHED核心考点只有第三次握手可以捎带数据前两次握手不能携带数据。到这里我的三次握手圆满完成客户端和服务端可以安心传输数据了。四、灵魂拷问我为什么非要三次两次不行吗很多同学问我两次握手不就是你问我答为啥非要第三次我给你用最直白的逻辑说清楚两次握手客户端发SYN服务端回ACK服务端就认为连接成了。但客户端能不能收到服务端的消息服务端根本不知道如果网络延迟旧的SYN包到达服务端服务端直接建立连接就会白白占用资源造成浪费。三次握手的本质一问、一答、一再确认确保双方的发送、接收能力都正常连接才真正有效。五、面试官最爱问我的那些事考研面试必背这些都是围绕我三次握手的高频考点背会直接拿分1. 初始序列号ISN为什么要随机防止历史连接的报文干扰新连接保证传输安全避免被恶意攻击。2. 三次握手哪次可以携带数据只有第三次握手可以前两次SYN报文段不允许携带数据。3. 三次握手失败会怎么样客户端收不到服务端的SYNACK会重传SYN包重传多次失败就放弃连接。4. SYN洪水攻击和我有关吗攻击者大量发送SYN包服务端一直处于SYN_RCVD状态资源被占满无法正常建立连接这就是利用我握手机制的攻击。六、人类用我时总踩这些坑实战血泪史很多同学写Python Socket、做网络实验总在我这翻车我总结了最常见的坑1. 防火墙没关闭本地客户端和服务端死活连不上抓包看不到SYN包十有八九是防火墙拦截了。2. 端口被占用服务端绑定的端口被其他程序占用三次握手根本无法启动。3. 序列号理解错误写代码时手动改ISN导致连接异常记住ISN是系统随机生成的不要强行修改。只要避开这几个坑我的三次握手绝对稳得很。七、我的自白总结我是TCP一个追求极致可靠的传输协议。我的三次握手从来不是复杂的流程而是客户端与服务端双向确认的仪式1. 第一次客户端说“我能发”2. 第二次服务端说“我能收也能发”3. 第三次客户端说“我能收”背流程图不如亲手抓一次包打开wireshark亲眼看看我的SYN、ACK、序列号你会发现我比课本里讲的更简单、更清晰。八、参考资料1. 《计算机网络 自顶向下方法》2. RFC 793TCP官方协议文档3. Wireshark官方网络抓包教程

相关文章:

TCP自传:我凭三次握手,成为计网考研必考顶流(附wireshark抓包验证)

大家好!我是TCP。欢迎来探索我哈哈哈。一、我的自述:为什么要讲清我的“三次握手”我是TCP,传输层里最操心、最可靠的协议。从计算机网络课本,到考研真题,再到后端开发面试,我永远是高频考点。很多同学背我…...

Phi-3-Mini-128K调用API全指南:Python与Java客户端开发示例

Phi-3-Mini-128K调用API全指南:Python与Java客户端开发示例 你是不是已经部署好了Phi-3-Mini-128K模型,看着那个API地址,却不知道下一步该怎么把它用起来?或者你正在开发一个应用,想集成AI对话能力,但面对…...

Python数据分析师效率工具:Qwen3-14B-Int4-AWQ辅助pandas与可视化

Python数据分析师效率工具:Qwen3-14B-Int4-AWQ辅助pandas与可视化 1. 数据分析师的新助手 作为一名数据分析师,你是否经常遇到这样的场景:面对一堆数据表格,明明知道要做什么分析,却要花大量时间查阅pandas文档&…...

GTE+SeqGPT多场景落地:教育知识库、IT运维助手、HR政策查询三大实战

GTESeqGPT多场景落地:教育知识库、IT运维助手、HR政策查询三大实战 1. 项目概述与核心价值 今天要跟大家分享一个特别实用的AI项目——GTESeqGPT联合方案。这个组合就像给你的业务装上了智能大脑,既能精准理解问题,又能快速生成回答。 简单…...

全任务零样本学习-mT5分类增强版开源可部署:符合GDPR/个保法的数据本地化处理说明

全任务零样本学习-mT5分类增强版开源可部署:符合GDPR/个保法的数据本地化处理说明 1. 引言 想象一下,你手头有一堆文本数据,想用AI模型来处理,比如做数据增强、文本改写或者分类。但问题来了:这些数据可能包含敏感信…...

JiYuTrainer零基础实战指南:从安装到精通的全方位教程

JiYuTrainer零基础实战指南:从安装到精通的全方位教程 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer JiYuTrainer是一款针对极域电子教室软件的防控制工具&#xff0…...

Qwen3-14B开源模型生态:vLLM+Chainlit组合成为中小团队首选部署栈

Qwen3-14B开源模型生态:vLLMChainlit组合成为中小团队首选部署栈 1. 模型简介 Qwen3-14b_int4_awq是基于Qwen3-14B大模型的量化版本,采用AngelSlim技术进行压缩优化。这个版本通过AWQ(Activation-aware Weight Quantization)方法…...

Deepin Boot Maker:重构启动盘制作逻辑的3个创新维度

Deepin Boot Maker:重构启动盘制作逻辑的3个创新维度 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 在数字化运维场景中,启动盘制作工具的可靠性直接决定系统部署效率。据2025年Linux基金…...

Phi-3-vision-128k-instruct企业应用:航空航天装配图理解+操作步骤语音指导生成

Phi-3-vision-128k-instruct企业应用:航空航天装配图理解操作步骤语音指导生成 1. 模型简介与技术特点 Phi-3-Vision-128K-Instruct是当前最先进的轻量级开放多模态模型,专为处理复杂图文交互任务而设计。这个模型属于Phi-3系列,支持高达12…...

通信工程本科毕业设计入门指南:从选题到原型实现的完整路径

最近在帮几个通信工程专业的学弟学妹看毕业设计,发现大家普遍在起步阶段就卡住了。选题太泛无从下手,仿真跑得飞起但一上硬件就“翻车”,报告写得像实验记录……这些问题我都经历过。今天这篇笔记,就想结合我自己的经验和一些常见…...

告别存档修改烦恼:Diablo Edit全方位使用指南

告别存档修改烦恼:Diablo Edit全方位使用指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 角色培养3大困境与解决方案 作为暗黑破坏神II的忠实玩家,你是否也曾面临以下…...

提升FF14副本效率:MMORPG玩家的动画等待问题解决方案

提升FF14副本效率:MMORPG玩家的动画等待问题解决方案 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip 在FF14的日常副本挑战中,玩家常因重复播放的动画序列被迫中断游戏节奏。以&…...

浏览器内存又炸了?全网都在吹的“AI小龙虾”OpenClaw到底是个啥?一文教你用向量引擎榨干GPT-5.3的最后一滴算力!

0. 引言:2026年,被“网页版AI”逼疯的打工人实录 兄弟们,大家下午好。今天咱们不聊虚无缥缈的底层算法,咱们聊点每天都在折磨你血压的真实痛点。 时间来到 2026 年,大模型的技术爆炸已经让人麻木了。OpenAI 推送的 g…...

K8S集群节点NotReady?从dial tcp 127.0.1.1:6443连接拒绝到swapoff -a的排查与修复

1. 当K8S节点突然罢工:从connection refused到swapoff的完整排障指南 那天早上我正喝着咖啡准备检查集群状态,突然发现kubectl get nodes返回了一串刺眼的红色报错。终端里不断刷新的"dial tcp 127.0.1.1:6443: connect: connection refused"让…...

Spring Boot项目中的HikariPool连接池配置避坑:从timeout异常到性能优化的完整解决方案

Spring Boot项目中HikariPool连接池配置实战:从timeout异常到性能调优全解析 当你的Spring Boot应用突然开始频繁抛出HikariPool-1 - Connection is not available, request timed out after XXXXms异常时,这就像数据库连接池在对你发出SOS信号。很多开发…...

Qwen3-14b_int4_awq快速上手:3步完成vLLM服务部署与Web对话验证

Qwen3-14b_int4_awq快速上手:3步完成vLLM服务部署与Web对话验证 1. 模型简介与环境准备 Qwen3-14b_int4_awq是基于Qwen3-14b模型的int4量化版本,采用AngelSlim技术进行压缩优化,专门用于高效文本生成任务。这个量化版本在保持较高生成质量的…...

OpenCode开源AI编程框架快速上手:VSCode插件部署与多模型切换教程

OpenCode开源AI编程框架快速上手:VSCode插件部署与多模型切换教程 1. 为什么选择OpenCode OpenCode是2024年开源的AI编程助手框架,采用Go语言编写,主打"终端优先、多模型、隐私安全"理念。它把大型语言模型(LLM)包装成可插拔的Ag…...

如何用HSTracker提升炉石传说对战决策?macOS玩家必备智能助手实测

如何用HSTracker提升炉石传说对战决策?macOS玩家必备智能助手实测 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker 你是否曾在炉石传说对战中因记不清对手已出…...

Win11系统提示找不到D3DCompiler_47.dll文件的解决办法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…...

AGV小车核心零部件有哪些

AGV小车是由行走机构、导航系统、驱动系统等多部件组成的集成系统,核心部件可分为四个层级。1. 核心动力单元驱动轮组是AGV的动力源,常用舵轮或差速轮配合伺服电机、减速器实现运动与转向,部分重载AGV采用双舵轮布局提升稳定性。电池系统普遍…...

Fish-Speech 1.5功能体验:内置音色选择与参考音频克隆效果实测

Fish-Speech 1.5功能体验:内置音色选择与参考音频克隆效果实测 你听过AI说话,但听过AI用你指定的声音说话吗?不是那种机械的、冰冷的电子音,而是带着特定语调、口音甚至呼吸节奏的“人声”。今天,我们不聊复杂的架构&…...

局域网远程桌面连接失败?手把手教你安全绕过CredSSP加密Oracle修正

局域网远程桌面连接失败?安全绕过CredSSP加密Oracle修正的实战指南 在企业IT运维中,远程桌面连接是管理员日常工作的核心工具。但当遇到"身份验证错误,可能是由于CredSSP加密Oracle修正"的提示时,许多技术人员会陷入两难…...

如何清理微信单向好友?WechatRealFriends实现社交关系智能管理

如何清理微信单向好友?WechatRealFriends实现社交关系智能管理 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFri…...

突破限制:OpenCore Legacy Patcher全流程指南——让旧Mac重获新生

突破限制:OpenCore Legacy Patcher全流程指南——让旧Mac重获新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款开源工具&…...

Java基础入门-2020-IDEA版-通俗易懂--零基础入门必备-三更草堂-笔记2

目录 流程控制语句-if 流程控制语句-switch 循环语句-for 循环语句-while 循环语句-do...while 循环控制语句 循环相关练习 Random生成随机数 流程控制语句-if 练习一 package demo;public class demo1 {public static void main(String[] args) {int a 10;int b 20…...

告别黑图与显存溢出!MusePublic艺术引擎低配GPU友好部署全攻略

告别黑图与显存溢出!MusePublic艺术引擎低配GPU友好部署全攻略 还在为运行AI绘画模型时频繁出现的“黑图”和“CUDA out of memory”而烦恼吗?对于许多个人开发者和艺术爱好者来说,显存不足是体验高质量文生图模型的最大障碍。今天&#xff…...

二叉堆的原理性质和应用

二叉堆的原理性质和应用 二叉堆的主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。 二叉堆的主要应用有两个,首先是一种很有用的数据结构优先级队列,二是堆排序。 二…...

零代码部署MedGemma:小白也能快速上手的医学AI分析工具

零代码部署MedGemma:小白也能快速上手的医学AI分析工具 1. 项目简介:你的私人医学影像“翻译官” 想象一下,你手头有一张X光片或CT影像,想快速了解它的关键信息,但又没有医学背景。或者,你是一名医学生&a…...

突破苹果限制:OpenCore-Legacy-Patcher让老旧Mac重获新生

突破苹果限制:OpenCore-Legacy-Patcher让老旧Mac重获新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore-Legacy-Patcher(简称OCLP&#…...

网络模型的简单认识

作为学习者,我仅将所学知识进行系统梳理和总结。如有任何疏漏或错误,敬请指正。OSI模型与TCP/IP模型对比OSI模型7层结构 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层TCP/IP模型4层结构 应用层、传输层、网络层、网络接口层层级对应关系…...