Tcpdump, WinDump   Tcpdump 유틸리티

(2023-02-26)

tcpdump, windump


1. tcpdump (유닉스용) / windump (윈도우즈용)CLI 기반의 패킷 캡쳐 모니터링을 위한 유틸리티 프로그램

  ㅇ 특징
     - `실시간 모니터링` 및 `미리 캡쳐된 파일모니터링` 모두 가능
     - tcpdump 라는 명칭 그 이상으로, 계층 1 ~ 계층 7까지 `모든 계층` 대부분의 패킷을 볼 수 있음
     - 각 패킷별로, 송수신 IP주소,타임스탬프 등 `프로토콜 세부사항`을 출력함

  ㅇ (기본 출력 형식)
     -  src > dst: flags data-seqno ack window urg 

  ㅇ (참고)
     - 패킷별 보다 자세한 분석은 다른 툴(tcppreplay,tcpopera 등) 사용이 필요함
     - GUI 기반의 패킷 캡쳐,분석용 프로그램 例) 와이어샤크(WireShark) 등 참조

  ㅇ (작성)
     - 1987년 로렌스 버클리 연구소의 밴 제이콥슨,크레이그 레레스,스티브 맥캔에 의해 작성됨


2. tcpdump/windump 활용 例네트워크 상의 패킷 캡쳐용 API 기동
     * (tcpdump 사용 전에 관리자 권한으로 반드시 수행 필요 ☞ Promiscuous Mode)
     - (유닉스 계열)   libpcap
     - (윈도우즈 계열) WinPcap                                  ☞ www.winpcap.org
        . 윈도우즈 명령창(관리자 권한)에서, net start npf 를 입력하여 실행
        . (NPF : NetGroup Packet Filter Driver)

  ㅇ 인터페이스 선택 (여러 인터페이스가 있을 경우 해당되는 것을 선택 필요)
     - tcpdump -i 인터페이스번호

  ㅇ 필터 사용 (너무 빨리 스크롤되므로, 화면 출력량을 줄여주어, 매우 유용)
     - IP 주소 또는 호스트명 지정
        . tcpdump host 192.168.0.2 또는 tcpdump host www.ktword.co.kr
     - 수신지 또는 발신지 지정 
        . (송신지 만) tcpdump src 192.168.0.1
        . (수신지 만) tcpdump dst 192.168.0.2
        . (송수 모두) tcpdump 'src 192.168.0.1 and dst 192.168.0.2'
     - 서브네트워크 지정 (CIDR 표기 방식) 
        . tcpdump net 192.168.0.0/24

     * 여러 필터 동시 사용 例 
        . tcpdump 'tcp and src port 80 and net 192.168.1.0/24'
           .. 프로토콜 tcp, 송신지 포트번호 80, 서브네트워크 192.168.1.0/24에 관련된 패킷 만

  ㅇ 캡쳐 내용을 파일로 저장 및 읽기 
     - (쓰기) tcpdump -w 파일명 ...
     - (읽기) tcpdump -r 파일명 ...


3. 옵션 사용 예시

  ㅇ tcpdump
     
tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX#] [ -B size ] [ -c count ] [ -C file_size ]
        [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ]
        [ -j tstamptype ] [ -M secret ] [ --number ] [ -Q in|out|inout ]
        [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
        [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ] [ -w file ]
        [ -W filecount ] [ -y datalinktype ] [ -z command ]
        [ -Z user ]
        [ expression ]
ㅇ windump
windump [-aAdDefhlLnNOpqRStuUvxX] [ -B size ] [ -c count ] [ -C file_size ]
        [ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
        [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
        [ -W filecount ] [ -y datalinktype ] [ -Z user ]
        [ expression ]
※ (파라미터 설명) - 주요 명령/지시자 . -D : 현재 유효한 네트워크 인터페이스 리스트 출력 (ifconfig -a와 유사) . -f : 로컬이 아닌 모든 원격 IP 주소를 출력 . -n : tcpdump가 DNS lookup을 통해 IP 주소호스트명으로 해석 변환하지 않게 함 . -S : TCP에서 상대 순서번호가 아닌 절대 순서번호를 출력 . -vv : 부가적인 설명문을 포함시켜 보여줌 . -x : 패킷 내용을 16 진수로 출력 . -X : 패킷 내용을 16 진수 및 아스키 형태로 출력 . -c 패킷수 : 특정 갯수의 패킷 만을 캡처 함 . -i 인터페이스명 : 캡처할 네트워크 인터페이스 .. -i : 뒤에 명칭 지정 않으면, 모든 네트워크 인터페이스를 대상으로 함 . -s 크기 : 캡처할 크기 (스냅샷 크기) . -r 파일명 : 특정 파일에서 읽기 . -w 파일명 : 특정 파일로 쓰기 저장 - [expression]은 BPF(Berkely Packet Filter)라는 저수준 패킷 필터링 구문BPF 구문 참조



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"