tcpdump

데이터 패킷을 캡쳐 및 모니터링

개념 및 목적

tcpdump는 명령 줄 인터페이스(CLI, Command Line Interface)에서 실행되는 데이터 네트워크 패킷 분석 프로그램이다. 사용자가 TCP/IP뿐만 아니라, 서버에 연결된 네트워크를 통해 송수신되는 기타 패킷을 캡처하고 표시할 수 있다[1]. 네트워크 패킷들을 다 조사하는 것이기 때문에 root권한이 필요하다.

기능 및 옵션

<tcpdump 명령어 옵션>

1. -i [interface] => 어느 인터페이스를 경유하는 패킷들을 지정 ex) tcpdump -i eth0 => 인터페이스 eth0를 패킷 출력

2. -w [저장할 파일 이름] => 캡처한 패킷들 파일로 저장 ex) tcpdump -i eth0 -w test.log => eth0의 패킷을 test.log의 파일로 지정

3. -c [캡처할 개수] => 제시된 수의 패킷을 받은 후 종료 ex) tcpdump -i eth0 -c 5 => eth0의 패킷을 5개만 캡쳐

4. -r [확인할 파일] => 저장한 파일을 확인 ex) tcpdump -r test.log => 저장한 test.log 파일을 확인

5. src [IP 주소] => 출발지 주소 지정 ex) tcpdump src 10.10.10.1 => source 주소를 10.10.10.1로 지정 후 패킷 출력

6. dst [IP 주소] => 목적지 주소 지정 ex) tcpdump dst 20.20.20.1 => destination 주소를 20.20.20.1로 지정 후 패킷 출력

7. host [IP 주소] => 출발지 or 목적지 주소 지정 ex) tcpdump host 30.30.30.1 => host 주소를 30.30.30.1로 지정 후 패킷 출력

8. port [포트번호] => 출발지 or 목적지 포트번호 지정 ex) tcpdump port 23 => 포트번호를 23번으로 지정 후 패킷 출력

실행 및 확인방법

1. tcpdump 설치 여부 확인 # rpm -qa | grep tcpdump

1-1. tcpdump 파일이 없을 경우, yum으로 패키지 설치 # yum install tcpdump*

2. tcpdump 명령어로 패킷 캡처 예 # tcpdump -i ens5f3 -c 10

Reference

[1] tcpdump - From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Tcpdump [2] tcpdump - packet capture 분석 방법 (Com Fun) https://comfun.tistory.com/entry/tcpdump-packet-capture-%EB%B6%84%EC%84%9D

Last updated