在三个接口上同时捕获网络流量

在三个接口上同时捕获网络流量

我需要捕获CentOS 5服务器充当具有 2 个 WAN 接口和 1 个 LAN 的 Web 代理。为了解决奇怪的代理问题,我想捕获完整的对话。由于外部连接在两个 WAN 接口之间是平衡的,我想知道是否可以捕获同时地在所有接口上。

我以前用过tcpdump,但它一次只允许一个接口。我可以启动 3 个并行进程来捕获所有接口,但最终会得到 3 个不同的捕获文件。

正确的做法是什么?

答案1

如果您使用 wireshark/tshark,则有一个名为“any”的伪接口,它接受所有接口。Wireshark tshark -i any 适用于所有平台

编辑 :libpcap 的任何接口都依赖于它:tcpdump 都有它!tcpdump -i any

答案2

我遇到了一个问题,当我尝试转储广播流量时任何接口,但设备上的 tcpdump 回复不是广播链接当我尝试的时候。

# tcpdump -i any broadcast -nn -v
tcpdump: not a broadcast link

我发现我可以并行运行多个命令来获得所需的结果。虽然这不是最漂亮的,但对我来说很有效。

tcpdump -i ath0 broadcast -n & tcpdump -i ath1 broadcast -n & tcpdump -i ath2 broadcast -n & tcpdump -i ath3 broadcast -n & tcpdump -i ath4 broadcast -n & tcpdump -i ath5 broadcast -n & tcpdump -i ath6 broadcast -n & tcpdump -i ath7 broadcast -n & tcpdump -i ath8 broadcast -n &

然后终止所有并行作业并停止转储:

kill `jobs -p`

相关内容