IT/Programing
[Bash Shell Script] tcpdump 패킷 저장 예제 (with signal)
착한아줌마
2020. 4. 13. 18:53
반응형
tcpudmp로 패킷 덤프 떠놓은 상태에서
원하는 트래픽 요청 후
해당 덤프 내용 파일로 저장하는 스크립트
<예제 코드>
!/bin/bash tcpdump -ne -i eth1 !arp -w /root/test/test.pcap & sleep 1 wget test.com/p1/p1_test.html sleep 1 pid=`ps aux | grep tcpdump | sed -n 1p | awk '{ print $2 }'` kill -SIGINT $pid |
해당 코드의 요는
1. tcpdump 파일저장 옵션으로 백그라운드 실행
2. 원하는 트래픽 요청 (test.com 도메인 페이지 요청)
3. 백그라운드로 실행시켜 놓은 tcpdump pid 확인
4. 해당 pid 값 kill
애먹은 점은 마지막 kill에서 보통 사용하는 -9 시그널을 보내면
파일 저장을 하지 않고 종료됨.
tcpdump를 종료할 때 사용하는 CTRL + C에 해당하는 시그널은 SIGINT
시그널의 종류의 문제로 비정상 종료되는 것으로
SIGINT를 보냄으로써 해결
끝