목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

Ethanalyzer

소개

이 문서에서는 Nexus 3000/5000/7000 스위치에서 내장형 패킷 캡처 툴인 Ethanalyzer를 사용하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서의 정보는 Nexus 3000, Nexus 5000 및 Nexus 7000 스위치를 기반으로 합니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

Ethanalyzer

Ethanalyzer는 CPU를 전환하도록 지정된 컨트롤 플레인 및 트래픽을 트러블슈팅하는 데 유용한 툴입니다.Mgmt는 mgmt0 인터페이스에 도달하는 패킷을 트러블슈팅하는 인터페이스입니다.Inbound-low(eth3)는 낮은 우선순위(ping, telnet, Secure Shell) CPU 바운드 트래픽에 해당하며, Inbound-hi(eth4)는 높은 우선순위(STP(Spanning Tree Protocol), Bridge Protocol Data Units, FIP) CPU 바운드 트래픽에 사용됩니다.

참고:표시 필터 또는 캡처 필터를 옵션으로 사용할 수 있습니다.Nexus 5000에서는 Display filter 옵션이 선호되고, Nexus 3000 및 Nexus 7000에서는 Capture Filter가 선호됩니다.

일반적으로 사용되는 디스플레이 필터는 Wireshark에서 찾을 수 있습니다.

일반적으로 사용되는 캡처 필터는 Wireshark에서 찾을 수 있습니다.

참고:Nexus 5000은 내부 VLAN을 사용하여 프레임을 전달하므로 에틀라이저는 내부 VLAN을 가지고 있습니다.Nexus 5000은 내부 VLAN을 기반으로 프레임을 포워드하고 Ethanalyzer는 내부 VLAN을 표시합니다.Ethanalyzer를 사용하여 문제를 해결할 때 VLAN ID가 문제를 일으킬 수 있습니다.그러나 show system internal fcfwd fwcvidmap vid 명령을 사용하여 매핑을 확인할 수 있습니다.이제 DDoS 공격의 실제 사례를 살펴보겠습니다.

Nexus# ethanalyzer local interface inbound-low detail display-filter icmp

Capturing on eth3

Frame 16 (102 bytes on wire, 102 bytes captured)

Arrival Time: Sep  7, 2011 15:42:37.081178000

[Time delta from previous captured frame: 0.642560000 seconds]

[Time delta from previous displayed frame: 1315424557.081178000 seconds]

[Time since reference or first frame: 1315424557.081178000 seconds]

Frame Number: 16

Frame Length: 102 bytes

Capture Length: 102 bytes

[Frame is marked: False]

[Protocols in frame: eth:vlan:ip:icmp:data]

Ethernet II, Src: 00:0d:ec:a3:81:bc (00:0d:ec:a3:81:bc),

Dst: 00:05:73:ce:3c:7c (00:05:73:ce:3c:7c)

Destination: 00:05:73:ce:3c:7c (00:05:73:ce:3c:7c)

Address: 00:05:73:ce:3c:7c (00:05:73:ce:3c:7c)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address(factory default)

Source: 00:0d:ec:a3:81:bc (00:0d:ec:a3:81:bc)

Address: 00:0d:ec:a3:81:bc (00:0d:ec:a3:81:bc)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address(factory default)

Type: 802.1Q Virtual LAN (0x8100)

802.1Q Virtual LAN

000. .... .... .... = Priority: 0

...0 .... .... .... = CFI: 0

.... 0000 0011 1001 = ID: 57 <<----------

Type: IP (0x0800)

Internet Protocol, Src: 144.1.1.63 (144.1.1.63), Dst: 144.1.1.41 (144.1.1.41)

Version: 4

Header length: 20 bytes

Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)

0000 00.. = Differentiated Services Codepoint: Default (0x00)

.... ..0. = ECN-Capable Transport (ECT): 0

.... ...0 = ECN-CE: 0

Total Length: 84

Identification: 0x1118 (4376)

<snip>

보시다시피 Ethanalyzer는 내부 VLAN인 VLAN 57에서 패킷을 수신했음을 나타냅니다.그러나 57이 16진수로 되어 있지 않으므로 VLAN 57은 실제 VLAN이 아닙니다.57은 16진수로 0x0039입니다. 이 명령은 실제 VLAN을 16진수로 결정합니다.

Nexus# show system internal fcfwd fwcvidmap cvid | grep 0x0039

0x0039 enet 0x01 0x0090 0100.0000.080a 0100.0000.0809

0x0039 fc   0x01 0x0090 0100.0000.0007 0100.0000.0006

0x0090은 16진수로 표시되는 실제 VLAN입니다.그런 다음 숫자를 144인 10진수로 변환해야 합니다. 이 계산에서는 이전 프레임의 실제 VLAN이 VLAN 144였다는 것을 보여줍니다. 그러나 Etanalyzer는 이를 57로 나타냅니다.

다음은 VLAN의 표시 필터로 FIP 프레임을 캡처하는 예입니다.(etype==0x8914)

Nexus# ethanalyzer local interface inbound-hi display-filter vlan.etype==0x8914

Capturing on eth4

2011-10-18 13:36:47.047492 00:c0:dd:15:d4:41 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:48.313531 00:c0:dd:15:d0:95 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.373483 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.373868 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.374131 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.374378 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.374618 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.374859 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.375098 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

2011-10-18 13:36:49.375338 00:0d:ec:a3:81:80 -> 01:10:18:01:00:01 0x8914

PRI: 3  CFI: 0  ID: 56

10 packets captured

Program exited with status 0.

Nexus#

다음은 특정 CNA(vFC1311과 Po1311 연결)에서 FKA 프레임을 캡처하는 예입니다. 이 컨피그레이션으로 인해 Ethanalyzer는 8초마다 FKA 타이머인 호스트의 FKA를 보게 됩니다.

Nexus# show flogi database

--------------------------------------------------------------------------------

INTERFACE        VSAN    FCID           PORT NAME               NODE NAME

--------------------------------------------------------------------------------

vfc15            200   0x1e0000  50:0a:09:81:89:4b:84:32 50:0a:09:80:89:4b:84:32

vfc16            200   0x1e0003  50:0a:09:81:99:4b:84:32 50:0a:09:80:89:4b:84:32

vfc17            200   0x1e0002  21:00:00:c0:dd:12:b9:b7 20:00:00:c0:dd:12:b9:b7

vfc18            200   0x1e0006  21:00:00:c0:dd:14:6a:73 20:00:00:c0:dd:14:6a:73

vfc19            200   0x1e0001  21:00:00:c0:dd:11:00:49 20:00:00:c0:dd:11:00:49

vfc20            200   0x1e0007  21:00:00:c0:dd:12:0e:37 20:00:00:c0:dd:12:0e:37

vfc23            200   0x1e0004  10:00:00:00:c9:85:2d:e5 20:00:00:00:c9:85:2d:e5

vfc1311          200   0x1e0008  10:00:00:00:c9:9d:23:73 20:00:00:00:c9:9d:23:73

Total number of flogi = 8.

Nexus# ethanalyzer local interface inbound-hi display-filter "eth.addr==

00:00:c9:9d:23:73 && vlan.etype==0x8914 && frame.len==60"limit-captured-frames 0

Capturing on eth4

2011-10-22 11:06:11.352329 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:19.352116 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:27.351897 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:35.351674 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:43.351455 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:51.351238 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:06:59.351016 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:07.350790 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:15.350571 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:23.350345 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:31.350116 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:39.349899 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:47.349674 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:07:55.349481 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:08:03.349181 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:08:11.348965 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:08:19.348706 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:08:27.348451 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

2011-10-22 11:08:35.348188 00:00:c9:9d:23:73 -> 00:0d:ec:a3:81:80 0x8914

PRI: 3  CFI: 0  ID: 24

52 packets dropped

Nexus# 19 packets captured

이전 캡처는 헤더만 표시합니다.세부 패킷을 인쇄할 수도 있습니다.그러나 detail 옵션을 사용하면 캡처를 파일에 쓴 다음 Wireshark로 파일을 여는 것이 가장 좋습니다.

Nexus# ethanalyzer local interface inbound-hi detail display-filter

vlan.etype==0x8914 write bootflash:flogi.pcap ?

<CR>

>        Redirect it to a file

>>       Redirect it to a file in append mode

display  Display packets even when writing to a file

|        Pipe command output to filter

다음은 LACP 프레임을 캡처하는 예입니다.

Nexus# ethanalyzer local interface inbound-hi display-filter slow

Capturing on eth42011-12-05 12:00:08.472289 00:0d:ec:a3:81:92 -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 16651 Partner Port = 283

2011-12-05 12:00:16.944912 00:1d:a2:00:02:99 -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 283 Partner Port = 16651

2011-12-05 12:00:25.038588 00:22:55:77:e3:ad -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 16666 Partner Port = 16643

2011-12-05 12:00:25.394222 00:1b:54:c1:94:99 -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 282 Partner Port = 16644

2011-12-05 12:00:26.613525 00:0d:ec:8f:c9:ee -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 295 Partner Port = 295

2011-12-05 12:00:26.613623 00:0d:ec:8f:c9:ef -> 01:80:c2:00:00:02 LACP Link

Aggregation Control ProtocolVersion 1.  Actor Port = 296 Partner Port = 296

다음은 MAC 주소 00:26:f0(와일드카드 필터)으로 제공된 모든 프레임을 캡처하는 예입니다.

Nexus# ethanalyzer local interface inbound-hi display-filter

"eth.src[0:3]==00:26:f0" limit-captured-frames 0

Capturing on eth4

2012-06-20 16:37:22.721291 00:26:f0:05:00:00 -> 01:80:c2:00:00:00 STP Conf.

Root = 8192/d0:57:4c:b7:dc:00  Cost = 200  Port = 0x9004

2012-06-20 16:37:22.721340 00:26:f0:05:00:00 -> 01:00:0c:cc:cc:cd STP Conf.

Root = 8192/d0:57:4c:b7:dc:00  Cost = 200  Port = 0x9004

2012-06-20 16:37:22.721344 00:26:f0:05:00:00 -> 01:00:0c:cc:cc:cd STP Conf.

Root = 8192/d0:57:4c:b7:dc:00  Cost = 200  Port = 0x9004

2012-06-20 16:37:22.721348 00:26:f0:05:00:00 -> 01:00:0c:cc:cc:cd STP Conf.

Root = 8192/d0:57:4c:b7:dc:00  Cost = 200  Port = 0x9004

19 packets dropped

Nexus# 4 packets captured

참고:이전 출력에서는 "19 Packets dropped"가 표시됩니다. 이러한 패킷은 실제로 삭제되지 않지만 Ethanalyzer에서 캡처되지 않습니다.

적절한 CPU 큐(Inbound-hi, inbound-lo 또는 mgmt)를 선택해야 합니다.

일반적인 트래픽 유형 및 대기열은 다음과 같습니다.

- Inbound-low - SUP-low(eth3)(ARP(Address Resolution Protocol)/IP over 스위치 가상 인터페이스, 인터넷 그룹 관리 프로토콜 스누핑)

- Inbound-hi - SUP-high(eth4)(STP, FIP, FCoE(Fibre Channel over Ethernet), FC, Cisco Discovery Protocol, Link Layer Discovery Protocol/Data Center Bridging Capabilities Exchange Protocol, Link Aggregation Control Protocol, Unidirectional Link Detection)

- 관리 - 대역 외(mgmt0 인터페이스를 통한 모든 기능)

- FIP(패브릭 로그인, 가상 링크 지우기, FKA):VLAN.etype==0x8914

- FCoE(포트 로그인, 도메인 이름 시스템):VLAN.etype==0x8906

다음은 캡처 FIP 및 FCoE의 예입니다.

ethanalyzer local interface inbound-hi display-filter "vlan.etype==0x8914

|| vlan.etype==0x8906"

다음은 몇 가지 ARP 필터입니다.

Nexus# ethanalyzer local interface inbound-low display-filter

arp.src.hw_mac==0013.8066.8ac2

Capturing on eth3

2012-07-12 21:23:54.643346 00:13:80:66:8a:c2 ->

ff:ff:ff:ff:ff:ff ARP Who has 172.18.121.59?  Tell 172.18.121.1

NexusF340.24.10-5548-2# 1 packets captured

Nexus# ethanalyzer local interface inbound-low display-filter

arp.src.proto_ipv4==172.18.121.4

Capturing on eth3

2012-07-12 21:25:38.767772 00:05:73:ab:29:fc ->

ff:ff:ff:ff:ff:ff ARP Who has 172.18.121.1?  Tell 172.18.121.4