캡처하지 내 쉘 스크립트 cap.sh
은 다음과 같습니다 :는 tcpdump가 나는 TCP 프로그램을 시작하고 관련 패킷을 캡처 할 것도
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
을 실행 실제로이 셸에서 암호를 없이
sudo
을 실행할 수 있고 호스트는 원격 컴퓨터 (PLanetlab 노드)의 가상 슬라이스 에 있지만프로세스를 볼 수는 있습니다.
ps -ef
에서은 내가
cap.sh
완료
잠재적 인 이유가 무엇인지
후 mypcap
파일이 0 바이트 참조 아무것도 를 캡처하지? 그리고 쉘 스크립트에서 tcpdump를 만드는 방법은 패킷을 캡처합니까? 덕분에 !
프로세스 목록을 grepping하여 PID를 찾는 것도 나쁜 생각입니다. tcpdump의 다른 인스턴스가 있으면 해당 프로세스도 종료됩니다. 대신,이 대답을 사용하여 tcpdump를 시작한 후에 PID를 저장하십시오 : http://stackoverflow.com/a/1911387/138329. – bradreaves