新手用tcpdump抓包分析异常流量,关键在于“抓得准、看得清、判得对”:先用sudo tcpdump -D确认网卡,聚焦eth0/ens33等真实接口;再通过端口扫描、异常ICMP、高频DNS等过滤表达式精准捕获;实时观察SYN密集无ACK、同一源IP多端口连接等攻击迹象;最后用-s0 -w保存完整pcap供溯源。

新手用 tcpdump 抓包分析异常流量,关键不在命令多复杂,而在于“抓得准、看得清、判得对”。不需要一上来就全量抓包,也不必依赖 Wireshark 图形界面——掌握几个核心过滤和观察点,就能快速识别可疑行为并缩小攻击源头范围。
先确认网卡和权限
tcpdump 必须用 root 权限运行,否则无法设置混杂模式监听流量。先查系统有哪些可用网卡:
- sudo tcpdump -D:列出所有接口,重点关注 eth0(有线)、ens33(新命名规范)、或 any(临时应急,不推荐长期用)
- 避免抓 lo(本地回环),它只反映本机内部通信,和外部攻击无关
- 若无输出或报错“device not found”,说明网卡名可能不同,可用 ip link show 或 ifconfig 辅助确认
聚焦异常特征,精准过滤抓包
攻击流量往往有明显模式,比如短连接爆发、固定端口扫描、大量 ICMP 请求、或非业务端口通信。别抓全部,直接用过滤表达式锁定可疑行为:
- 扫端口行为:sudo tcpdump -i eth0 -nn -c 50 'tcp[tcpflags] & (tcp-syn) != 0 and dst portrange 1-1000'
- 异常 ICMP 流量:sudo tcpdump -i eth0 -nn -c 30 icmp and src host 192.168.10.55(替换为可疑源 IP)
- 高频 DNS 查询:sudo tcpdump -i eth0 -nn -c 100 udp port 53 and src host 10.0.2.15
- 非业务端口外连:sudo tcpdump -i eth0 -nn 'dst port 4444 or dst port 6667 or dst port 5555'(常见木马/IRC 端口)
边抓边看,快速识别攻击迹象
不用等抓完再分析,实时输出里就能发现线索。重点关注三类信号:
- 同一源 IP + 大量不同目标端口 → 可能是端口扫描,如:10.0.1.200.32101 > 192.168.1.10.22、10.0.1.200.32102 > 192.168.1.10.23、10.0.1.200.32103 > 192.168.1.10.25
- SYN 包密集但无后续 ACK → TCP SYN Flood 特征,终端显示大量 Flags [S],却很少见 [S.] 或 [.]
- 源地址伪造明显:如大量包来自 0.0.0.0、255.255.255.255、或内网段却从外网接口进来(说明可能被 spoof)
保存证据,供进一步溯源
确认异常后,立刻保存原始包供复核或上报:
- 用 -w 保存为标准 pcap 格式:sudo tcpdump -i eth0 -nn -s0 -w /tmp/attack-20260506.pcap 'src host 10.0.1.200'
- -s0 确保抓全包(避免截断导致协议字段丢失)
- 文件可直接用 Wireshark 打开,也可用 tcpdump -r xxx.pcap -A | head -20 快速查看明文载荷(如 HTTP User-Agent、DNS 域名)
- 配合 netstat -tulnp 或 ss -tulnp 查本机是否已被植入监听端口

















