受限虚拟服务器上的 tcpdump/Wireshark

受限虚拟服务器上的 tcpdump/Wireshark

当我尝试在虚拟服务器的网络接口上转储一些流量时,出现错误,提示我不允许这样做:

# tcpdump -p -i eth0
tcpdump: eth0: You don't have permission to capture on that device
(socket: Operation not permitted)

我猜问题在于我的服务器提供商似乎使用了带有共享 Linux 内核的虚拟化解决方案(uname 返回“2.6.33.7-vs2.3.0.36.30.4-netcup”作为版本)。

有什么方法可以让我从单个进程转储传出的流量?

答案1

您可以尝试使用strace命令来跟踪应用程序正在进行的系统调用。如下所示:

strace -o trace -e trace=read,write -s 8192 /path/to/my/command

这将/path/to/my/command在 的控制下启动strace。它将记录所有readwrite系统调用(因此不仅仅是网络流量,还包括任何其他 i/o)到名为 的文件中trace。它将为每个读/写调用记录最多 8192 个字符。

这对您目前的情况可能有帮助,也可能没帮助。

相关内容