소개
이 문서에서는 Wireshark 기반 제어 패킷을 위한 Cisco NX-OS 통합 패킷 캡처 툴인 Ethanalyzer에 대해 설명합니다.
배경 정보
Wireshark는 여러 산업과 교육 기관에서 널리 사용되는 오픈 소스 네트워크 프로토콜 분석기입니다. 패킷 캡처 라이브러리인 libpcap에서 캡처한 패킷을 디코딩합니다. Cisco NX-OS는 패킷 캡처를 지원하기 위해 libpcap 라이브러리를 사용하는 Linux 커널에서 실행됩니다.
Ethanalyzer를 사용하면 다음을 수행할 수 있습니다.
- 수퍼바이저가 보내거나 받은 패킷을 캡처합니다.
- 캡처할 패킷 수를 설정합니다.
- 캡처할 패킷의 길이를 설정합니다.
- 요약 또는 자세한 프로토콜 정보와 함께 패킷을 표시합니다.
- 캡처된 패킷 데이터를 열고 저장합니다.
- 여러 조건에서 캡처된 패킷을 필터링합니다.
- 여러 기준에 표시할 패킷을 필터링합니다.
- 제어 패킷의 내부 7000 헤더를 디코딩합니다.
Ethanalyzer는 다음을 수행할 수 없습니다.
- 네트워크에 문제가 발생할 경우 경고합니다. 그러나 Ethanalyzer를 사용하면 문제의 원인을 파악할 수 있습니다.
- 하드웨어에서 전달되는 데이터 플레인 트래픽을 캡처합니다.
- 인터페이스별 캡처 지원
출력 옵션
이것은 ethanalyzer local interface inband 명령의 출력에 대한 요약 보기입니다. ? 옵션에 도움말이 표시됩니다.
자세한 프로토콜 정보는 detail 옵션을 사용합니다. 필요한 경우 ^C를 사용하여 중단한 후 캡처 중간에 스위치 프롬프트를 다시 가져올 수 있습니다.
필터 옵션
캡처 필터
캡처 중에 표시하거나 디스크에 저장할 패킷을 선택하려면 capture-filter 옵션을 사용합니다. 캡처 필터는 필터링하는 동안 높은 캡처 속도를 유지합니다. 패킷에 대해 전체 해부가 수행되지 않았으므로 필터 필드가 미리 정의되어 있으며 제한됩니다.
디스플레이 필터
캡처 파일(tmp 파일)의 보기를 변경하려면 display-filter 옵션을 사용합니다. 디스플레이 필터는 완전히 구분된 패킷을 사용하므로, 네트워크 추적 파일을 분석할 때 매우 복잡하고 고급 필터링을 수행할 수 있습니다. 그러나 tmp 파일은 모든 패킷을 먼저 캡처한 다음 원하는 패킷만 표시하므로 빠르게 채울 수 있습니다.
이 예에서는 limit-captured-frames를 5로 설정합니다. capture-filter 옵션을 사용하는 경우 Ethanalyzer는 필터 호스트 10.10.10.2와 일치하는 5개의 패킷을 표시합니다. display-filter 옵션을 사용하여 Ethanalyzer는 먼저 5개의 패킷을 캡처한 다음 필터 ip.addr==10.10.10.2와 일치하는 패킷만 표시합니다.
쓰기 옵션
쓰기
write 옵션을 사용하면 나중에 분석할 수 있도록 Cisco Nexus 7000 Series Switch의 스토리지 디바이스(예: bootflash 또는 logflash) 중 하나에 있는 파일에 캡처 데이터를 쓸 수 있습니다. 캡처 파일 크기는 10MB로 제한됩니다.
쓰기 옵션이 있는 Ethanalyzer 명령의 예로는 ethanalyzer local interface inband write bootflash: capture_file_name이 있습니다. capture-filter 및 output 파일 이름이 first-capture인 쓰기 옵션의 예는 다음과 같습니다.
캡처 데이터를 파일에 저장하면 캡처된 패킷은 기본적으로 터미널 창에 표시되지 않습니다. 표시 옵션은 캡처 데이터를 파일에 저장하는 동안 Cisco NX-OS가 패킷을 표시하도록 합니다.
캡처 링 버퍼
capture-ring-buffer 옵션은 지정된 시간(초), 지정된 파일 수 또는 지정된 파일 크기 이후에 여러 파일을 생성합니다. 이 스크린샷에는 이러한 옵션에 대한 정의가 나와 있습니다.
읽기 옵션
read 옵션을 사용하면 디바이스 자체에 저장된 파일을 읽을 수 있습니다.
서버나 PC로 파일을 전송하고 Wireshark 또는 cap 또는 pcap 파일을 읽을 수 있는 다른 응용 프로그램으로 파일을 읽을 수도 있습니다.
디코드-내부 및 세부 정보 옵션
decode-internal 옵션은 Nexus 7000에서 패킷을 전달하는 방법에 대한 내부 정보를 보고합니다. 이 정보는 CPU를 통한 패킷 흐름을 이해하고 문제를 해결하는 데 도움이 됩니다.
NX-OS 인덱스를 16진수로 변환한 다음 show system internal pixm info ltl x 명령을 사용하여 로컬 대상 논리(LTL) 인덱스를 물리적 또는 논리적 인터페이스에 매핑합니다.
Capture-Filter 값의 예
IP 호스트로 또는 IP 호스트로부터 트래픽 캡처
host 10.1.1.1
IP 주소 범위에서 트래픽 캡처
net 172.16.7.0/24
net 172.16.7.0 mask 255.255.255.0
IP 주소 범위에서 트래픽 캡처
src net 172.16.7.0/24
src net 172.16.7.0 mask 255.255.255.0
IP 주소 범위로 트래픽 캡처
dst net 172.16.7.0/24
dst net 172.16.7.0 mask 255.255.255.0
특정 프로토콜에서만 트래픽 캡처 - DNS 트래픽만 캡처
DNS는 Domain Name System Protocol입니다.
port 53
특정 프로토콜에서만 트래픽 캡처 - DHCP 트래픽만 캡처
DHCP는 Dynamic Host Configuration Protocol입니다.
port 67 or port 68
특정 프로토콜이 아닌 트래픽 캡처 - HTTP 또는 SMTP 트래픽 제외
SMTP는 Simple Mail Transfer Protocol입니다.
host 172.16.7.3 and not port 80 and not port 25
특정 프로토콜이 아닌 트래픽 캡처 - ARP 및 DNS 트래픽 제외
ARP는 Address Resolution Protocol입니다.
port not 53 and not arp
IP 트래픽만 캡처 - ARP 및 STP와 같은 하위 레이어 프로토콜 제외
STP는 스패닝 트리 프로토콜입니다.
ip
유니캐스트 트래픽만 캡처 - 브로드캐스트 및 멀티캐스트 알림 제외
not broadcast and not multicast
레이어 4 포트 범위 내에서 트래픽 캡처
tcp portrange 1501-1549
이더넷 유형 기반 트래픽 캡처 - EAPOL 트래픽 캡처
EAPOL은 LAN을 통한 확장 가능 인증 프로토콜입니다.
ether proto 0x888e
IPv6 캡처 해결 방법
ether proto 0x86dd
IP 프로토콜 유형 기반 트래픽 캡처
ip proto 89
Reject Ethernet Frames Based on MAC Address(MAC 주소 기반 이더넷 프레임 거부) - LLDP 멀티캐스트 그룹에 속하는 트래픽을 제외합니다.
LLDP는 Link Layer Discovery Protocol입니다.
not ether dst 01:80:c2:00:00:0e
UDLD, VTP 또는 CDP 트래픽 캡처
UDLD는 단방향 링크 감지, VTP는 VLAN 트렁킹 프로토콜, CDP는 Cisco Discovery Protocol입니다.
ether host 01:00:0c:cc:cc:cc
MAC 주소로 또는 MAC 주소로부터 트래픽 캡처
ether host 00:01:02:03:04:05
참고:
및 = &&
또는 = ||
not = !
MAC 주소 형식: xx:xx:xx:xx:xx
공통 컨트롤 플레인 프로토콜
- UDLD: DMAC(Destination Media Access Controller) = 01-00-0C-CC-CC 및 EthType = 0x0111
- LACP: DMAC = 01:80:C2:00:00:02, EthType = 0x8809. LACP는 Link Aggregation Control Protocol의 약자입니다.
- STP: DMAC = 01:80:C2:00:00:00 및 EthType = 0x4242 - 또는 - DMAC = 01:00:0C:CC:CC:CD 및 EthType = 0x010B
- CDP: DMAC = 01-00-0C-CC-CC-CC, EthType = 0x2000
- LLDP: DMAC = 01:80:C2:00:00:0E 또는 01:80:C2:00:00:03 또는 01:80:C2:00:00:00 및 EthType = 0x88CC
- DOT1X: DMAC = 01:80:C2:00:00:03 및 EthType = 0x888E. DOT1X는 IEEE 802.1x를 나타냅니다.
- IPv6: 이더넷 유형 = 0x86DD
- UDP 및 TCP 포트 번호 목록
알려진 문제
Cisco 버그 ID CSCue48854: Ethanalyzer capture-filter는 SUP2의 CPU에서 트래픽을 캡처하지 않습니다.
Cisco 버그 ID CSCtx79409: decode-internal과 함께 캡처 필터를 사용할 수 없습니다.
Cisco 버그 ID CSCvi02546: SUP3에서 생성된 패킷에 FCS가 있을 수 있습니다. 이는 정상적인 동작입니다.
관련 정보