05/12 【速查】tcpdump 网络抓包常用命令
tcpdump 网络抓包常用命令速查
基础用法
# 抓取eth0所有流量
tcpdump -i eth0
# 抓取指定数量包后停止(默认无限)
tcpdump -i eth0 -c 100
# 不解析主机名/端口,速度更快
tcpdump -i eth0 -nn
# 显示详细输出(时间戳、协议详情)
tcpdump -i eth0 -v
过滤表达式
# 按主机
tcpdump host 192.168.1.1
tcpdump src 192.168.1.1 # 源IP
tcpdump dst 192.168.1.1 # 目标IP
# 按端口
tcpdump port 80
tcpdump src port 443
tcpdump dst port 22
# 按协议
tcpdump icmp
tcpdump arp
tcpdump udp
tcpdump tcp
# 组合过滤(逻辑运算)
tcpdump 'host 10.0.0.1 and port 80'
tcpdump 'src 192.168.1.0/24 and not port 22'
tcpdump 'tcp[tcpflags] & tcp-syn != 0' # 只抓SYN包
实用场景
1. 排查HTTP问题
# 抓80端口,显示ASCII内容
tcpdump -i eth0 port 80 -A
# 抓HTTP请求头
tcpdump -i eth0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -X
# 抓POST请求
tcpdump -i eth0 'tcp port 80 and (tcp[((tcp[12]&0xf0)>>2):4] = 0x504f5354)'
2. DNS排查
# 抓DNS查询
tcpdump -i eth0 udp port 53 -nn
# 只看DNS响应
tcpdump -i eth0 'udp port 53 and udp[10] & 0x80 != 0'
3. 抓取特定TCP状态
# 抓SYN包(新连接)
tcpdump 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'
# 抓RST包(连接重置)
tcpdump 'tcp[tcpflags] & tcp-rst != 0'
# 抓FIN包(连接关闭)
tcpdump 'tcp[tcpflags] & tcp-fin != 0'
保存与读取
# 保存到文件(二进制格式)
tcpdump -i eth0 -w capture.pcap
# 从文件读取分析
tcpdump -r capture.pcap -nn
# 保存时限制大小(每个文件100MB,最多5个)
tcpdump -i eth0 -C 100 -W 5 -w capture.pcap
高级技巧
# 抓取非本机IP的流量(类似端口镜像)
tcpdump -i any not host 192.168.1.100
# 抓取特定TCP窗口大小
tcpdump 'tcp[14:2] > 65535'
# 抓取特定TTL值(检测跳数)
tcpdump 'ip[8] < 10'
# 抓取特定包长
tcpdump 'greater 500' # 大于500字节
tcpdump 'less 100' # 小于100字节
常用组合
# 日常排查三板斧
tcpdump -i eth0 -nn -c 1000 not arp and not icmp
# 快速定位异常连接
tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn|tcp-rst|tcp-fin) != 0'
# 抓取完整HTTP请求响应
tcpdump -i eth0 -A -s 0 port 80
# 实时监控特定IP的流量
tcpdump -i eth0 -nn host 10.0.0.5 and not port 22
注意事项
- 权限:大部分系统需要root/sudo
- 性能:高流量环境用
-c限制数量,否则磁盘写爆 - 过滤顺序:
host比port快,ip比tcp快 -s 0:抓取完整包,默认只抓68字节头部-e:显示MAC地址,排查二层问题有用
一句话总结:tcpdump -i eth0 -nn -c 100 port 80 -A 够应付80%的日常排查。
安全运维 / Linux运维 / 渗透测试 技术支持
业务需求可联系博客作者
原文链接:https://shibaolong.com/archives/264
更多安全技术文章请访问 月梦沉冰的安全博客


浙公网安备 33010602011771号