Linux如何使用tcpdump抓包分析_Linux tcpdump抓包分析大全

老辰大大_3444

老辰大大_3444

2026-04-02

315人浏览

原创

tcpdump 默认不保存包,需用 -w 写入 pcap 文件分析;必须加 -s 0 截全包、指定正确网卡(如 lo 回环)、root 权限,过滤用 bpf 语法,iptables 不影响抓包时机。

linux如何使用tcpdump抓包分析_linux tcpdump抓包分析大全

tcpdump 默认不保存包,只输出到终端;要分析真实流量,必须用 -w 写入文件,再配合 -r 或 Wireshark 查看——直接终端滚动看几万行包,基本没法定位问题。

抓包前必须确认网卡和权限

运行 tcpdump 需要 root 权限,普通用户会报错:tcpdump: ens33: You don’t have permission to capture on that device。别急着加 sudo 就开抓,先查清楚目标网卡是否 UP、是否有流量:

  • ip link show 看哪些接口状态是 UP(比如 ens33、eth0 或 lo)
  • tcpdump -D 列出所有可捕获的接口,注意 any 是伪接口,能抓所有网卡但不含链路层信息
  • 回环流量(如 localhost:8080)必须指定 -i lo,否则在物理网卡上根本看不到

写入文件比实时打印更可靠

终端输出容易丢帧、缓冲溢出,且无法回溯或过滤重放。真正用于分析的抓包,几乎都走文件路径:

  • 用 -w file.pcap 保存原始二进制包(推荐 .pcap 后缀,Wireshark 兼容性最好)
  • -s 0 必须加上,否则默认只截前 68 字节,HTTP header、TLS handshake 等关键内容全被砍掉
  • 加 -nn 避免 DNS 反解拖慢速度,也防止因解析失败导致抓包中断
  • 示例命令:sudo tcpdump -i ens33 -nn -s 0 -w debug.pcap port 8080

过滤表达式写错就抓不到想要的包

过滤不是拼凑关键词,而是按 BPF 语法组合原语。常见错误包括:

  • 把 host 192.168.1.100 and port 22 写成 host 192.168.1.100 port 22(缺逻辑连接词,会被忽略后半段)
  • 想抓响应包却用了 src host A,结果只看到本机发出去的请求,漏掉对端返回的 reply
  • HTTP 流量混在 TLS 中?port 443 能抓到包,但 -A 看不到明文——因为加密了,别指望 tcpdump 解密
  • 需要方向控制时,优先用 dst host / src port,比笼统的 host 更精准

iptables 规则不影响 tcpdump 抓包时机

这是个高频误解:很多人以为 DROP 规则会让 tcpdump 抓不到包。其实不是。

  • 进入方向:包到达网卡 → tcpdump 捕获 → 才进入 iptables PREROUTING 链 → 最终是否被 DROP,不影响已捕获的内容
  • 出去方向:应用发包 → 经过 iptables OUTPUT → 若被 DROP,则 tcpdump 在 POSTROUTING 后捕获不到该包
  • 所以,若怀疑是 iptables 导致连接不通,应重点抓 OUTPUT 和 FORWARD 链前后的包,而不是只盯 INPUT
实际排查时,最易被忽略的是 -s 0 和网卡选择。一个没加 -s 0 的抓包文件,可能让你反复抓三次才意识到 payload 被截断;而抓了 eth0 却在查 lo 上的服务,等于在错误的地方找钥匙。
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3108

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4629

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3729

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

426

15

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.24

754

4

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.09

3243

4

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

2023.11.14

854

3

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2024.03.12

6346

8

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.16

5390

6

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习