TCPdump

강윤경·2022년 7월 26일
0

Tool

목록 보기
1/5
post-thumbnail
  • 명령줄에서 실행하는 일반적인 패킷 캡쳐 소프트웨어
  • 주어진 조건식에 맞는 네트워크 인터페이스를 거치는 패킷들의 헤더를 출력
  • TCP/IP 뿐 아니라 컴퓨터에 부착된 네트워크를 통해 송신수되는 기타 패킷을 가로채고 표시

Command Option

  • -n : 주소를 십진수 표시
  • -i : 어느 인터페이스를 경유하는 패킷을 캡쳐할지 결정, 생략할 경우 가장 낮은 번호의 이더넷 인터페이스
  • -t : 캡쳐 시간 출력하지 않음
  • -c : 캡쳐할 패킷 수 지정, 지정 수 만큼 캡쳐 후 종료
  • -C : 캡쳐된 패킷을 저장 파일로 만들기 전에 file_size 크기보다 크다면 현재 저장 파일을 닫고 새로운 파일을 연다. 저장된 파일의 이름은 -w 옵션을 이용하여 1부터 시작해 하나씩 증가한다.
  • -a : 도메인 이름 형식으로 주소 출력
  • -A : 패킷의 내용을 화면에 ASCII로 출력
  • -f : 로컬 호스트는 도메인 이름, 원격 호스트는 숫자로 표시
  • -e : 링크 레벨 헤더를 출력
  • -N : 호스트 이름을 출력할 때 도메인 출력하지 않음
  • -p : 인터페이스 promiscuous 모드 종료
    • promiscuous 모드 : 스위치에서 TCP/IP 프로토콜에서 목적지를 찾기 위해 모든 장비에 브로드캐스트 시 해당 스위치에 연결된 NIC는 자기에게 맞는 패킷인 경우 허용하고 그렇지 않은 경우 해당 패킷을 버리는 모드
  • -q(v) : 프로토콜 정보 출력
  • -w(r) : 캡쳐한 패킷 파일 저장
  • -s : snap length(하나의 패킷에서 캡쳐할 수 있는 최대 크기) 변경, 기본 68바이트
  • -S : TCP 순서 번호를 상대적인 번호가 아닌 절대적 값으로 출력
  • -v : 더 많은 정보들을 출력
  • -vv : -v보다 더 많은 정보들을 출력
  • -x : 패킷을 헥사코드로 출력
  • -B : 운영체제가 캡쳐하는 버퍼 크기를 buffer size로 변환
  • -d : 컴파일된 packet-matching code를 사람이 읽을 수 있게 표준화
  • -dd : packet-matching 코드를 C프로그램의 일부로 표현
  • -ddd : packet-matching 코드를 십진수로 표현
  • -D : tcpdump가 패킷을 잡을 수 있는 시스템 상에 가능한 네트워크 인터페이스 목록을 출력
  • -e : 링크 레벨 헤더를 각각 덤프라인에 출력
  • -f : 외부 IPv4 주소를 되도록 심볼이 아닌 숫자로서 표현
  • -F : 파일을 필터식으로 입력
  • -G : 덤프 파일을 -w 옵션으로 매 초마다 회전해 회전된 덤프 파일 저장, 저장된 파일은 -w 옵션으
    로 시간 정보가 정의되어 이름에 포함시간형식이 지정되지 않으면 매번 새로운 파일은 원래 있던 파일에 덮어 씌워진다. -C 옵션과 같이 사용하면 file 형식으로 저장
  • -l : 인터페이스를 monitor mode로 설정
  • -n : 사용 시 호스트의 주소를 이름으로 변경하지 않고 사용 않을 시 IP주소가 출력되지 않고 호스트의 주소로 표현
  • -nn : 사용 시 프로토콜과 포트번호를 이름으로 변경하지 않고 사용하지 않을 시 포트 번호와 프로토콜이 숫자가 아닌 이름으로 출력
  • -p : 인터페이스는 promiscuous모드 종료
    • promiscuous mode : 네트워크 카드의 동작 방식 모드 중 하나로 패킷을 무조건 수용하는 모드, 이 모드로 설정 시 패킷 목적지에 관게없이 처리 가능, 네트워크 감시 목적 등으로 사용되지만 스니핑을 통한 도청 수단으로 사용할 수 있다.

조건식

  • and
  • or
  • host - net - port
  • src - dst
  • proto
  • tcpdump 'proto / ip' : ip 데이터그램 캡쳐
  • tcpdump 'arp' : ARP 패킷 캡쳐
  • tcpdump 'host google.com' : 특정 호스트가 송수신하는 패킷 캡쳐 (IP 주소 입력 가능)
  • tcpdump 'src host google.com' : 특정송신자의 패킷만 캡쳐
  • tcpdump 'dst host google.com' : 특정수신자의 패킷만 캡쳐
  • tcpdump 'port x' : 송신지의 포트번호가 x인 패킷만 캡쳐
  • tcpdump 'dst host A or dst host B' : 목적지가 A 혹은 B의 패킷 캡쳐
  • tcpdump 'not dst host A and src host B' : 목적지가 A가 아닌 발신지가 B인 패킷만 캡쳐
  • S : tcp 헤더의 SYN비트(순서번호)
  • win : tcp 헤더의 Window Size
  • ack : tcp 헤더의 승인필드와 번호
  • DF : Don't Fragementation

Flags

  • S : SYN 연결 요청
  • ACK : 패킷이 정상적으로 통신하는 응답 표시
  • F : FIN, 송신 측에서 연결을 종료하여 정상적인 연결 종료
  • R : RST. 비정상적으로 즉시 연결 종료
  • P : PSH, 데이터를 즉시 어플리케이션으로 전달
  • Usr : 긴급한 데이터의 우선순위를 높게 배정

0개의 댓글