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