Skip to content

tcpdump 使用#

接口选择#

tcpdump -i eth0         # 指定网络接口
tcpdump -i any          # 监听所有接口
tcpdump -D              # 列出可用接口

常用指令#

-nn             # 不解析主机名和端口名
-s 0            # 抓完整包(默认96字节)

-w file.pcap    # 保存到文件
-C 50           # 存储大小,单位:M

过滤#

tcp                       # 协议 tcp/udp/icmp/arp
host 192.168.1.1          # 指定主机
src 192.168.1.1           # 源地址
dst 192.168.1.1           # 目标地址
net 192.168.1.0/24        # 网段

# 端口
tcpdump port 80                   # 指定端口
tcpdump src port 8080             # 源端口  OUT
tcpdump dst port 22               # 目标端口 IN
tcpdump portrange 1000-2000       # 端口范围

示例#

常用组合#

# 基本监控
sudo tcpdump -i any -nn

# 监控HTTP流量
sudo tcpdump -i any -nn port 80

# 监控特定主机的SSH流量
sudo tcpdump -i any -nn host 192.168.1.100 and port 22

# 完整监控,保存文件
sudo tcpdump -i any -nn -s 0 -w capture.pcap

# 实时监控特定服务
sudo tcpdump -i any -nn -A 'port 80 or port 443'

# 监控非本地流量
sudo tcpdump -i any -nn 'not host 127.0.0.1'

指定时间#

timeout 10s  tcpdump -i any -nn  -w cap.pcap

# 60分钟后停止 ,使用信号 SIGINT
timeout -s SIGINT 60m sudo tcpdump -i any -w capture.pcap