본문 바로가기
프로그래밍/네트워크

[TOOL] tcpdump 간단 예제 - 사용법

by 앗싸붕 2020. 10. 28.
728x90
반응형

Simple Example

 - 인터페이스 지정

tcpdump -i eth0

 

 - 캡처 내용 파일로 저장
tcpdump -w packet.pcap

 

 - 저장된 packet.pcap 파일 내용 보기
tcpdump -r packet.pcap

 

 - count 10개만 캡쳐
tcpdump -i eth0 -c 10

 

 - tcp 80 port
tcpdump -i eth0 tcp port 80

 

 - source IP 

tcpdump -i eth0 src 10.100.200.1

 

- 주소범위 (CIDR) 지정

tcpdump -i eth0 net 172.16.0.0/24

 

Combination Example

 - and ( && ) , or ( || ) , not ( ! ) 를 이용하여 여러가지 옵션 조합 가능

tcpdump -i eth0 src 10.100.200.1 and tcp port 443

tcpdump udp and src port 9999
tcpdump src 172.168.10.22 and not dst port 22

 

- grouping : ( )
tcpdump ‘src 10.100.200.1 and ( dst port 443 or 80 )’

 

- 자주쓰는 명령

tcpdump -i eth0 -n

tcpdump -i any -n icmp and not host localhost

tcpdump -n -i eth0 port 67 and port 68 (DHCP packet)

 

- 자주쓰는 명령 (ipv6)

tcpdump -i eth0 -n ip6 -w a.pcap (ipv6 를 제외한 packet 을 a.pcap 파일에 저장)

tcpdump -vvvv -ttt -i eth0 icmp6 and 'ip6[40] = 134' (RA filter)

 

 

tcpdump options

-a : Network & Broadcast 주소들을 이름들로 변경함.

-c Number : 제시된 수의 패킷을 받은 후 종료함.

-d : comile된 packet-matching code를 사람이 읽을 수 있도록 바꾸어 표준 출력으로 출력하고,

     종료함.

-dd : packet-matching code를 C program의 일부로 출력

-ddd : packet-matching code를 숫자로 출력

-e : 출력되는 각각의 행에 대해서 link-level 헤더를 출력

-f : 외부의 internet address를 가급적 심볼로 출력(Sun의 yp server와의 사용은 가급적 피하도록).

-F file : filter 표현의 입력으로 파일을 받아들이며 커맨드라인에 주어진 추가의 표현들은 모두

        무시됨.

-i device : 어느 인터페이스를 경유하는 패킷들을 잡을지 지정합니다.
   지정되지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호를 가진 인터페이스를
   선택합니다(이 때 loopback은 제외됨).

-l : 표준 출력으로 나가는 데이터들을 line buffering합니다.
     다른 프로그램에서 tcpdump로부터 데이터를 받고자 할 때, 유용합니다.

-n : 모든 주소들을 번역하지 않음(port,host address 등등)

-N : 호스트 이름을 출력할 때, 도메인을 찍지 않음.

-O : packet-matching code optimizer를 실행하지 않으며
     이 옵션은 optimizer에 있는 버그를 찾을 때나 쓰임.

-p : 인터페이스를 promiscuous mode로 두지 않음.

-q : 프로토콜에 대한 정보를 덜 출력합니다.

-r file : 패킷들을 '-w'옵션으로 만들어진 파일로 부터 읽어 들입니다.
     파일에 "-" 가 사용되면 표준 입력을 통해서 받아들임.

-s length: 패킷들로부터 추출하는 샘플을 default값인 68Byte외의 값으로 설정할 때 사용합니다

-T type : 조건식에 의해 선택된 패킷들을 명시된 형식으로 표시합니다.

-S : TCP sequence번호를 상대적인 번호가 아닌 절대적인 번호로 출력합니다.

-t : 출력되는 각각의 라인에 시간을 출력하지 않음.

-tt : 출력되는 각각의 라인에 형식이 없는 시간들을 출력함.

-v : 좀 더 많은 정보들을 출력함.

-vv : '-v'보다 좀 더 많은 정보들을 출력함.

-w : 캡춰한 패킷들을 분석해서 출력하는 대신에 그대로 파일에 저장함.

-x : 각각의 패킷을 헥사코드로 출력함.

 

728x90
반응형

댓글