【发布时间】:2023-03-23 06:32:01
【问题描述】:
我想启动一个 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
我跑cap.sh
sudo ./cap.sh
所以实际上在这个shell中,我可以在没有密码的情况下运行sudo
主机只是远程机器上的一个虚拟切片(PLanetlab 节点)
虽然我可以从ps -ef 看到进程tcpdump
它什么也捕捉不到
我看到 mypcap 文件在 cap.sh 完成后为 0 个字节
潜在的原因是什么? 以及如何使 shell 脚本中的 tcpdump 捕获数据包? 谢谢!
【问题讨论】: