当使用 tcpdump 的 `-i any` 参数时,如何获取内联接口名称?

当使用 tcpdump 的 `-i any` 参数时,如何获取内联接口名称?

我正在诊断 Linux 服务器上过多网络接口造成的一些网络问题。

我需要按照转储所有接口流量tcpdump -i any,但我找不到任何接口标识符的定义(eth0,eth10,br4等)

有没有办法指示tcpdump每行每个数据包都包含接口信息?

答案1

事实证明,这实际上是一个我无法轻易找到的重复项,并且系统不推荐。我认为我应该在这里给出答案,因为从评论中的链接建议来看可能不是 100% 清楚。

第一的,或多或少包含了答案,但你必须去他的德语网站以获取更新的脚本。此外,简单的复制和粘贴可能会带来困难,具体取决于您的浏览器等。


回答

你要做的是使用此脚本(版本 1.3):dump.sh

可以通过以下方式执行:dump.sh [-i interface] [tcpdump-parameters]

例如,我在一个相当大的 XenServer 安装中寻找由于操作系统的错误卸载尝试而导致的“错误”标志。我能够使用带有管道的命令,如下所示:

./dump.sh -v -nn | grep -i incorrect | egrep --line-buffered -v "Interface:lo:|eth3|vif21.4|xenbr4"

相关内容