0

0

Linux系统利用tcpdump分析TCP三次握手报文交互过程实战

冷漠man

冷漠man

发布时间:2026-03-17 10:28:01

|

973人浏览过

|

来源于php中文网

原创

tcpdump 是 Linux 下抓取分析 TCP 三次握手的核心工具,需用过滤表达式匹配 SYN、SYN-ACK、ACK 报文,结合 IP/端口识别客户端与服务端角色,并通过 seq/ack 数值关系验证合法性。

linux系统利用tcpdump分析tcp三次握手报文交互过程实战

tcpdump 是 Linux 下最常用的网络抓包工具,能直接捕获并解析原始网络数据包。分析 TCP 三次握手过程,是理解连接建立机制、排查连接超时或失败问题的关键一步。核心在于识别 SYN、SYN-ACK、ACK 这三个标志位组合,并结合源/目的 IP 和端口确认交互顺序与角色。

抓取指定主机间的 TCP 握手报文

为避免干扰,建议限定目标主机和端口。例如,监控本机与 192.168.1.100 的 80 端口建立连接的过程:

tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn or tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn|tcp-ack' and host 192.168.1.100 and port 80

说明:
- -i eth0 指定网卡(根据实际用 ip a 查看);
- -nn 禁用域名和端口名称解析,显示原始数字;
- 过滤表达式精准匹配 SYN(仅 SYN 置位)、SYN-ACK(SYN 和 ACK 同时置位),跳过纯 ACK 或 FIN 包;
- host + port 缩小范围,提升可读性。

识别三次握手的三个关键报文

成功抓到后,典型输出如下(简化时间戳和 MAC 地址):

AI改图神器
AI改图神器

AI万能图片编辑器,一键抠图,去水印,智能图片美化,照片转漫画,照片变活转视频,图片无损放大,一键背景虚化,位图智能转矢量图

下载

10:22:34.101 192.168.1.5.54321 > 192.168.1.100.80: Flags [S], seq 12345, win 64240
→ 客户端发起连接:SYN=1,seq 随机初值(如 12345),无 ack 字段

10:22:34.102 192.168.1.100.80 > 192.168.1.5.54321: Flags [S.], seq 67890, ack 12346, win 65535
→ 服务端响应:SYN=1 & ACK=1,seq 为服务端随机初值(67890),ack = 客户端 seq + 1(12345+1)

10:22:34.102 192.168.1.5.54321 > 192.168.1.100.80: Flags [.], seq 12346, ack 67891, win 64240
→ 客户端确认:ACK=1(SYN=0),seq = 原 seq + 1(12345+1),ack = 服务端 seq + 1(67890+1)

注意:
- “Flags [S]” 表示只有 SYN;
- “Flags [S.]” 表示 SYN 和 ACK;
- “Flags [.]” 表示只有 ACK(点号是 tcpdump 对 ACK=1 且其他标志为 0 的简写);
- seq/ack 数值必须严格满足“+1”关系,否则不是标准握手。

常见异常场景与判断依据

若连接无法建立,可通过缺失某类报文定位问题:

  • 只看到客户端 SYN,无任何返回 → 服务端未收到(防火墙拦截、路由不通、服务未监听);
  • 看到 SYN 和 SYN-ACK,但无后续 ACK → 客户端未收到 SYN-ACK(丢包、中间设备过滤)或收到后未响应(客户端异常、本地策略限制);
  • SYN-ACK 中的 ack 值 ≠ 客户端 SYN 的 seq + 1 → 报文错乱或伪造,非合法握手;
  • 三次报文中 IP 或端口不一致(如应答来自非目标 IP)→ 存在 NAT、负载均衡或中间代理,需结合拓扑分析。

保存与离线分析进阶技巧

抓包结果可保存为 pcap 文件,供 Wireshark 图形化分析或反复查看:

tcpdump -i eth0 -nn -w handshake.pcap 'tcp[tcpflags] & (tcp-syn|tcp-ack) >= 2 and host 192.168.1.100'

说明:
- -w handshake.pcap 直接写入文件,不实时打印;
- 过滤条件稍放宽(>=2),确保捕获所有含 SYN 或 ACK 的握手相关包;
- 后续可用 tcpdump -r handshake.pcap -nn 重放,或用 Wireshark 打开查看 TCP 流追踪(Follow > TCP Stream)。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1564

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

717

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

801

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

588

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

571

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

314

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

400

2023.07.25

Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

10

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.8万人学习

Git 教程
Git 教程

共21课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号