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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT > Programing' 카테고리의 다른 글

[Expect] 함수 사용법  (2) 2020.05.07
언리얼엔진 무료 강좌  (0) 2020.04.28
[Python] getopt (스크립트 매개변수 지정)  (0) 2020.04.07
[잡] 프로그래밍 기도문  (0) 2020.03.30
[Python] print format  (0) 2019.07.31