我正在诊断 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"