본문 바로가기

IT인생_스터디/Linux

[리눅스 시스템] 리눅스 tcpdump 사용하기


리눅스 tcpdump 사용하기

 

 

 

1. 명령어 : tcpdump

    - 데이터 패킷을 캡쳐 할 수 있고 모니터링 할 수 있음.

 

2. tcpdump 명령어로 확인 할 수 있는 내용

    * 특정 이더넷을 거쳐가는 모든 패킷의 헤드를 캡쳐

    * 특정 이더넷을 거쳐가는 패킷 전체를 캡쳐

    * 이 시스템과 원격지의 대상호스트 사이에 송수신 되는 패킷 헤더 혹은 패킷 전체 캡쳐

    * 이 시스템과 원격지 대상 호스트 간의 모든 패킷들가운데 특정 포트번호 (혹은, 특정 서비스)로

       송수신 되는 패킷 헤더 혹은 패킷 전체를 캡쳐

    * 패킷을 캡쳐하여 특정 파일에 저장할 수 있으며 저장된 파일 내용 확인은 -r 옵션을 사용한다.

 

3. 예제

    3.1. 특정 ethernet 인터페이스로 송수신되는 패킷헤더 덤프 및 확인

        #tcpdump -i eth0 -w tcpdump.txt

 

        #tcpdump -r tcpdump.txt

 

    3.2. 특정 이더넷에 대한 지정한 만큼의 패킷 캡쳐

        #tcpdump -i eth0 -c 5    --> c 옵션 : 패킷 헤드의 갯수 지정

 

    3.3. 특정 포트로 송수신 되는 패킷 전체를 캡쳐 및 확인

        #tcpdump -w tcpdump1.log -s 1500 tcp port 22 and host 192.168.108.1

            - s 1500 : 캡쳐할 패킷의 길이로서 1500은 패킷의 전체길이를 의미. 해당 NIC의 MTU값에

                          따른다.

            - tcp port 22 : 캡쳐할 대상 프로토콜과 포트를 지정한 것으로 TCP 포트 22번으로

                                송수신 되는 데이터를 캡쳐

            - host 192.168.108.1 : 해당 호스트와 통신하며 송수신되는 데이터를 대상으로 캡쳐

 

 

        #tcpdump -Xqnr tcpdump1.log