当我尝试在我的虚拟服务器的networking接口上转储一些stream量时,出现一个我不允许这样做的错误:
# tcpdump -p -i eth0 tcpdump: eth0: You don't have permission to capture on that device (socket: Operation not permitted)
我想问题是我的服务器提供商似乎使用共享Linux内核的虚拟化解决scheme(uname返回“2.6.33.7-vs2.3.0.36.30.4-netcup”作为版本)。
任何方式,使我从一个进程转储出站stream量?
您可以尝试使用strace命令来跟踪您的应用程序正在进行的系统调用。 像这样的东西:
strace -o trace -e trace=read,write -s 8192 /path/to/my/command
这将在strace控制下启动/path/to/my/command 。 它将logging所有read和write系统调用(所以不只是networkingstream量,而是任何其他I / O)到一个名为trace的文件。 每次读/写呼叫将logging最多8192个字符。
这对您目前的情况可能有帮助,也可能不会帮助您。