基本命令
sudo tcpdump -i eth0 udp port 63614 -n
-i eth0
:监听eth0
接口(可替换为其他接口,如any
表示所有接口)。udp
:仅捕获 UDP 协议的数据包。port 63614
:匹配源或目标端口为63614
的流量。-n
:禁用 DNS 解析,直接显示 IP 地址(加快分析速度)。
扩展选项
1. 仅捕获源或目标端口的流量
- 仅源端口 63614:
sudo tcpdump -i eth0 src port 63614 and udp -n
- 仅目标端口 63614:
sudo tcpdump -i eth0 dst port 63614 and udp -n
2. 捕获并保存到文件(Wireshark 分析)
sudo tcpdump -i eth0 udp port 63614 -w udp_63614.pcap
- 用
Wireshark
打开udp_63614.pcap
进行详细分析。
3. 显示数据包内容(ASCII/Hex)
- ASCII 格式(适合文本协议):
sudo tcpdump -i eth0 udp port 63614 -A -n
- Hex + ASCII 格式(适合二进制协议):
sudo tcpdump -i eth0 udp port 63614 -XX -n
4. 捕获特定主机的 UDP 63614 流量
sudo tcpdump -i eth0 host 10.28.61.18 and udp port 63614 -n
- 仅捕获与
10.28.61.18
通信且端口为63614
的 UDP 流量。
常见问题排查
-
无输出?
- 确认端口
63614
有流量(如服务正在运行)。 - 检查接口是否正确(
ip a
或ifconfig
查看活跃接口)。 - 尝试监听所有接口:
sudo tcpdump -i any udp port 63614 -n
- 确认端口
-
权限不足?
- 使用
sudo
或以root
用户运行。
- 使用
-
过滤其他干扰?
- 增加
-v
(详细模式)或-vv
(更详细):sudo tcpdump -i eth0 udp port 63614 -vv -n
- 增加
示例输出
13:45:22.123456 IP 192.168.1.100.63614 > 10.28.61.18.53: UDP, length 512
13:45:22.234567 IP 10.28.61.18.53 > 192.168.1.100.63614: UDP, length 1024
- 表示
192.168.1.100
从端口63614
向10.28.61.18:53
(DNS)发送 UDP 数据包,并收到回复。
总结
- 使用
udp port 63614
过滤 UDP 流量。 - 结合
-w
保存数据包或用-A
/-XX
查看内容。 - 若无流量,检查服务、接口和网络路径。