TCPdump 사용법 Neworks, Inc. (Tel) 070-7101-9382 (Fax) 02-2109-6675 ech@pumpkinne.com hp://www.pumpkinne.co.kr
TCPDUMP Tcpdump 옵션 ARP 정보 ICMP 정보 ARP + ICMP 정보 IP 대역별정보 Source 및 Desinaion 대역별정보 Syn 과 syn-ack 정보 Rese/Push/Fin 정보 UDP 정보 VRRP Packe 정보 Mulicas 정보 Brodacas 정보
Tcpdump 옵션 1. Tcpdump 명령어옵션확인 [roo@layerx] Roo # cpdump? Usage: cpdump <-aaddefllnnopqrsuuvxx> <-c coun> < -C file_size > < -E algo:secre > < -F file > < -i inerface > < -r file > < -s snaplen > < -T ype > < -w file > < -y daalinkype > < expression > 가장많이사용하는옵션 cpdump -e : MAC 정보까지출력하는옵션 cpdump -n : 도메인이름을 lookup 하지않고 IP정보만출력하는옵션. cpdump -i [inerface] : 검출하고자하는를지정하여출력하는옵션
ARP 정보 로접속하는사용자들중에 MAC 주소로검색하는상황 10.10.10.1 [ 사전확인 ] 에설정된정보확인 ( 예제구성에서는 이름을생성 ) Roo # if - IP:10.10.10.1 Mask:255.255.255.0 Bcas:10.10.10.0.255 HWaddr:AA:AA:AA:AA:AA:AA [ 명령어 ] Roo # cpdump i [ 이름 ] [ 프로토콜 ] n -e [ 결과 ] src Mac 검출 Roo # cpdump i eher src AA:AA:AA:AA:AA:AA n -e cpdump: lisening on eh2 IP :70.70.70.5 MAC: AA:AA:AA:AA:AA:AA 소스 Mac 목적지 Mac AA:AA:AA:AA:AA:AA 0:16:17:7e:c0:13 ip 60: 70.70.70.5.1242 > 70.70.70.1.elne:. ack 4298 win 16384 (DF) 0:c:6e:19:23:81 0:16:17:7e:c0:13 ip 60: 70.70.70.5.1242 > 70.70.70.1.elne:. ack 4424 win 16258 (DF) [ 결과 ] ds Mac 검출 Roo # cpdump i eher ds AA:AA:AA:AA:AA:AA n -e 목적지 Mac 0:16:17:7e:c0:13 AA:AA:AA:AA:AA:AA ip 60: 70.70.70.1.1242 > 70.70.70.5.elne: 0:16:17:7e:c0:13 AA:AA:AA:AA:AA:AA ip 60: 70.70.70.1.1242 > 70.70.70.5.elne:.
ICMP 정보 로들어오는 ICMP 패킷에대해서검출 에대한 ICMP 패킷을검출하는상황 IP :10.10.10.2 [ 사전확인 ] 에설정된정보확인 ( 예제구성에서는 이름을생성 ) Roo # if - IP:10.10.10.1 Mask:255.255.255.0 Bcas:10.10.10.0.255 HWaddr:AA:AA:AA:AA:AA:AA [ 명령어 ] Roo # cpdump i [ 이름 ] [ 프로토콜 ] and hos [IP] n [ 결과 ] Roo # cpdump i icmp and hos 10.10.10.2 n cpdump: lisening on eh2 소스 IP 목적지 IP 02:09:06.493559 10.10.10.2 > 70.70.70.10: icmp: echo reques ( 이 에게요청한 ICMP 패킷 ) 02:09:06.493642 70.70.70.10 > 10.10.10.2: icmp: echo reply ( 에서 에게응답을하는 ICMP 패킷 )
MAC + ICMP 정보 IP :10.10.10.2 로들어오는 ICMP 패킷에대해서검출 에대한 ICMP 패킷을검출하는상황 [ 사전확인 ] 에설정된정보확인 ( 예제구성에서는 이름을생성 ) Roo # if - IP:10.10.10.1 Mask:255.255.255.0 Bcas:10.10.10.0.255 HWaddr:AA:AA:AA:AA:AA:AA [ 명령어 ] -e (Mac 정보옵션 ) Roo # cpdump i [ 이름 ] [ 프로토콜 ] and hos [IP] n -e [ 결과 ] Roo # cpdump i icmp and hos 10.10.10.2 n 소스 Mac 목적지 Mac 소스 IP 2:19:57.393763 0:16:17:7e:c0:13 AA:AA:AA:AA:AA:AA ip 98: 10.10.10.2 > 70.70.70.10: 목적지 IP icmp: echo reques ( 외부사용자-1 이 에게요청한 ICMP 패킷 ) 12:19:57.394263 AA:AA:AA:AA:AA:AA 0:16:17:7e:c0:13 ip 98: 70.70.70.10 > 10.10.10.2: icmp: echo reply ( 에서 에게응답을하는 ICMP 패킷 )
IP 대역별정보 로들어오는 IP 대역별패킷검출 IP :10.10.10.2/24 [ 명령어 ] Roo # cpdump i [ 이름 ] [ 프로토콜 ] and ne [ip 대역 / 서브넷 ] -n [ 결과 ] Roo # cpdump i ip and ne 10.10.10.0/24 -n 12:19:57.393763 10.10.10.2 > 70.70.70.10: icmp: echo reques 12:19:57.394263 70.70.70.10 > 10.10.10.2: icmp: echo reply 12:41:38.848915 10.10.10.2.1242 > 70.70.70.1.elne:. ack 326 win 15506 (DF) 12:41:38.848927 70.70.70.1.elne > 10.10.10.2.1242: P 326:611(285) ack 0 win 5840 (DF) 소스대역, 목적지대역중 10.10.10.0 네트워크에포함되는 IP 검출
소스및목적지대역별정보 로들어오는 IP 대역별패킷검출 IP :10.10.10.2/24 [ 명령어 ] Roo # cpdump i [ 이름 ] [ 프로토콜 ] and src ne [ip 대역 / 서브넷 ] n Roo # cpdump i [ 이름 ] [ 프로토콜 ] and ds ne [ip 대역 / 서브넷 ] n [ 결과 ] src 네트웍검출 Roo # cpdump i ip and src ne 10.10.10.0/24 n 소스 IP 12:19:57.393763 10.10.10.2 > 70.70.70.10: icmp: echo reques 소스 IP 12:41:38.848915 10.10.10.5.1242 > 70.70.70.1.elne:. ack 326 win 15506 (DF) [ 결과 ] ds 네트웍검출 Roo # cpdump i ip and ds ne 10.10.10.0/24 n 목적지 IP 12:19:57.394263 70.70.70.10 > 10.10.10.2: icmp: echo reply 12:41:38.848927 70.70.70.1.elne > 10.10.10.2.1242: P 326:611(285) ack 0 win 5840 (DF) 목적지 IP
Syn 과 Syn-ack 정보 IP :10.10.10.2/24 [ 명령어 ] cp por 80 인경우 Roo # cpdump i [ 이름 ] [ 프로토콜 ] & [flag]!=0 and por 80 -n [ 결과 ] cp flag 중에 syn 만검출 Roo # cpdump i cp[cpflags] & cp-syn!=0 and por 80 n 14:21:23.552662 10.10.10.1.1248 > 70.70.70.10.www: S SYN Packe 4020770820:4020770820(0) win 65535 <mss 1460,nop,nop,sackOK> (DF) [ 결과 ] cp flag 중에 syn 만검출 Roo # cpdump i cp[cpflags] & cp-ack!=0 and por 80 n 14:25:40.878073 70.70.70.10.80 > 10.10.10.10.2.1255: S 1778294446:1778294446(0) ack 97430430 win 5840 <mss 1460,nop,nop,sackOK> (DF) Ack Packe SYN Ack Packe 14:26:32.151144 10.10.10.10.2.1255 > 70.70.70.10.80:. ack 1 win 65535 (DF)
Rese/Push/Fin 정보 [ 명령어 ] cp por 80 인경우 Roo # cpdump i [ 이름 ] [ 프로토콜 ] & [flag]!=0 and por 80 -n IP :10.10.10.2/24 [ 결과 ] cp flag 중에 res 만검출 Roo # cpdump i cp[cpflags] & cp-rs!=0 and por 80 n [ 결과 ] cp flag 중에 Push 만검출 Roo # cpdump i cp[cpflags] & cp-push!=0 and por 80 n 4:37:07.074859 10.10.10.2.4054 > 70.70.70.10.80: P 3689104246:3689104874(628) ack 2510948353 win 65535 (DF) 14:37:07.162856 70.70.70.10.80 > 10.10.10.2.405: P 1:299(298) ack 628 win 6908 (DF) 14:37:07.163208 70.70.70.10.80 > 10.10.10.2.405: FP 299:612(313) ack 628 win 6908 (DF) [ 결과 ] cp flag 중에 Push 만검출 Roo # cpdump i cp[cpflags] & cp-fin!=0 and por 80 n 14:38:57.349955 70.70.70.10.80 > 10.10.10.2.4086: FP 2629209924:2629210237(313) ack 767255045 win 6908 (DF) 14:38:57.350441 0.10.10.2.4086 > 70.70.70.10.80: F 1:1(0) ack 314 win 64924 (DF)
UDP 정보 IP :10.10.10.2/24 UDP 555 번포트가 를통과하는경우검출하는상황 [ 명령어 ] Roo # cpdump i [ 이름 ] [ 프로토콜 ] por [ 번호 ] [ 결과 ] Roo # cpdump i udp por 555
VRRP 패킷정보 이중화상태에서 VRRP 패킷으로 Primary 와 Sandby 장비간에송, 수신되고있는상황을검출 IP :10.10.10.2 [ 부연설명 ] VRRP 란멀티캐스팅패킷으로 primary- 와 sandby- 결정하는프로토콜이며서로간에패킷을송, 수신하면서상태를확인합니다. 구조는 Primary- prioriy 값은 160( 고정 ) Sandby- prioriy 값은 80( 고정 ) VRRP 멀티캐스팅패킷으로 primary- 와 sandby- 간에우선순위패킷을교환하면서서로간에상태를확인하고있습니다. 백본스위치 Primary Br0 Primary : 70.70.70.2 Sandby Br0 만약 Primary- 가 down 되면 snadby- 가 primary 역할을수행하게됩니다. [ 명령어 ] vrrp 패킷검출 Roo # cpdump i [ 이름 ] [ 프로토콜 ] [ 결과 ] Roo # cpdump i vrrp 70.70.70.1 > 224.0.0.18: VRRPv2-adverisemen 20: vrid=0 prio=160 auoype=ah invl=1 Primary 멀티캐스팅패킷 70.70.70.2 > 224.0.0.18: VRRPv2-adverisemen 20: vrid=0 prio=80 auoype=ah invl=1 Sandby 멀티캐스팅패킷
Mulicas 정보 IP :10.10.10.2/24 로경우하는멀티캐스트패킷을검출하는상황 [ 명령어 ] 멀티캐스트패킷검출 Roo # cpdump i [ 이름 ] [ 프로토콜 ] [ 결과 ] Roo # cpdump -i -n mulicas
Broadcas 정보 IP :10.10.10.2/24 로경우하는브로드캐스트패킷을검출하는상황 [ 명령어 ] 브로드캐스트패킷검출 Roo # cpdump i [ 이름 ] [ 프로토콜 ] [ 결과 ] Roo # cpdump -i -n broadcas