网络命令82 条

tcpdump 抓包分析

命令行抓包标准工具:-i any 全接口、-nn 不解析名字、表达式过滤主机/端口/协议;定位「请求到底有没有到」的终极手段。

Linux 运维命令速查系统更新于 2026-10-12
用途网络抓包与协议分析
语法tcpdump [选项] [过滤表达式]
常用-i 接口 -nn 数字显示 -c 数量 -A ASCII -X hex+ASCII -s0 完整包

常用示例

常用示例
tcpdump -i any -nn -c 20
tcpdump -i eth0 -nn 'tcp port 443 and host 10.0.0.5'
tcpdump -i eth0 -nn -A 'tcp port 80' -c 5           # 看 HTTP 明文
tcpdump -i any -nn 'tcp[tcpflags] & tcp-syn != 0' -c 20   # 只看 SYN
tcpdump -i eth0 -nn 'udp port 53' -c 10             # 看 DNS 查询
抓包可能包含明文凭据/隐私:只抓必要范围(加 host/port 过滤),pcap 文件用完及时清理。

易错点

  • 没有 -nn 时大量 DNS 反查会拖慢输出甚至丢包(最好加 -nn 与 -c 限定)
  • 默认只抓前 262144 字节外的头部(-s 已默认 262144,老教程写的 -s0 仍是好习惯);Grafana/生产机器先确认抓包权限(CAP_NET_RAW)

数据来源与参考

  • man 8 tcpdump(tcpdump 官方手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌