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를 보냄으로써 해결