linux – tcpdump在shell脚本中捕获任何内容

linux – tcpdump在shell脚本中捕获任何内容,第1张

概述我想启动一个TCP程序并捕获相关的数据包, 我的 shell脚本cap.sh如下: sudo tcpdump -i eth0 -w mypcap & sleep 3 ./tcp_receiver sleep 2 x=`ps -ef|grep "tcpdump"|grep -v "grep"|awk '{print $2}'` sudo kill -9 $x 我想启动一个TCP程序并捕获相关的数据包,
我的 shell脚本cap.sh如下:

sudo tcpdump -i eth0 -w mypcap &    sleep 3    ./tcp_receiver    sleep 2    x=`ps -ef|grep "tcpdump"|grep -v "grep"|awk '{print }'`    sudo kill -9 $x

我运行cap.sh

sudo ./cap.sh

所以实际上在这个shell中,我可以在没有密码的情况下运行sudo
并且主机只是远程机器上的虚拟切片(PLanetlab节点)
虽然我可以从ps -ef看到进程tcpdump
它什么也没捕捉到
在cap.sh完成后,我看到mypcap文件是0字节

有什么可能的原因?
以及如何使shell脚本中的tcpdump捕获数据包?
谢谢!

解决方法 不要使用kill -9.它不仅几乎总是错误的事情,它可能导致问题在这里,通过丢弃缓冲数据而不是写入磁盘.使用普通老杀,或杀-2.

另一个选项是添加-U选项以在每个数据包之后刷新输出缓冲区.

总结

以上是内存溢出为你收集整理的linux – tcpdump在shell脚本中捕获任何内容全部内容,希望文章能够帮你解决linux – tcpdump在shell脚本中捕获任何内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存