클라이언트와 서버 간 통신 문제를 조사하려면 분석을 위해 패킷을 캡처해야합니다. 그러나 클라이언트 또는 서버에 Wireshark 또는 tcpdump와 같은 패킷 분석기를 설치할 수 없습니다. 클라이언트는 Catalyst 3560에 연결되고 서버는 Catalyst 3750 스위치에 연결됩니다.
랩톱의 패킷 분석기로 트래픽을 캡처하기 위해 랩톱을 스위치 포트에 플러그인 할 수 있습니까?
클라이언트와 서버 간 통신 문제를 조사하려면 분석을 위해 패킷을 캡처해야합니다. 그러나 클라이언트 또는 서버에 Wireshark 또는 tcpdump와 같은 패킷 분석기를 설치할 수 없습니다. 클라이언트는 Catalyst 3560에 연결되고 서버는 Catalyst 3750 스위치에 연결됩니다.
랩톱의 패킷 분석기로 트래픽을 캡처하기 위해 랩톱을 스위치 포트에 플러그인 할 수 있습니까?
답변:
클라이언트 스위치 포트 또는 서버 스위치 포트를 모니터링 할 수 있습니다. 세 번째 스위치 포트 는 미러 포트 로 구성 할 수 있습니다 . 즉,이 미러 포트는 해당 원래 포트에서 모든 패킷의 사본을 수신하지만 원래 트래픽에는 영향을 미치지 않습니다.
예를 들어 Catalyst 3560에서 :
구성 모드로 들어가십시오.
conf t
소스를 정의하고 세션 번호를 설정하십시오.
monitor session 1 source interface fa 0/24
여기서 세션 번호는 1-66 일 수 있으며 VLAN 또는 이더넷 채널을 지정할 수도 있습니다. 또한 여러 클라이언트를 동시에 모니터링하려는 경우 fa 0/25 - 26
와 같은 인터페이스 범위와 같은 인터페이스 목록이 있습니다 fa 0/24,fa 0/26
. 또한 명령을 반복하여 포트를 추가하거나을 사용하여 제거 할 수 있습니다 no
. 동일한 세션에서 포트와 VLAN을 혼합 할 수 없으며 대상 포트를 소스 포트로 사용할 수 없다는 또 다른 제한 사항이 있습니다.
대상 포트를 정의하십시오.
monitor session 1 destination interface gi 0/1
일반적인 포트는 사용할 수 있지만 VLAN은 사용할 수 없습니다. 위와 마찬가지로 대상 포트는 소스 포트가 될 수 없습니다. 여기에 사용 된 포트는 소스 또는 대상 포트 일 수 있으며 하나의 세션 만 가능합니다. 다시, 위와 같이 여러 포트를 지정할 수 있습니다.
exit
구성 모드를 구성하고 구성을 저장할 수 있습니다 .
정의 된 세션을 살펴볼 수 있습니다-여기에 여러 포트가 있습니다. 위와 같이 시도하십시오.
#show monitor session 1
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/24,Fa0/25-26
Destination Ports : Fa0/48,Gi0/1
Encapsulation : Native
Ingress : Disabled
여기서 캡슐화를 볼 수 있습니다. 선택적으로 replicate
소스 인터페이스 encapsulation replicate
뒤에 추가하는 등 소스 인터페이스 캡슐화 방법을 복제 하기 위해 캡슐화를 설정할 수 있습니다. 또한, 당신은 방향 (지정할 수 있습니다 tx
, rx
, both
), 필터 VLAN을 더. Ingress: Disabled
라인 수단은 스위치는 목적지 포트에 캡처 장치에 의해 여기에 소개 된 어떠한 프레임을 허용하지 않습니다. 이러한 세부 사항과 추가 제한 사항 및 기본 설정에 대해서는 스위치의 IOS 버전에 대한 명령 참조를 살펴보십시오.
소스 및 대상 포트를 구성한 후에는 대상 포트에 연결된 랩톱 (예 : Wireshark)을 사용하여 트래픽을 캡처 할 수 있습니다.
소스 세션 수는 제한 될 수 있습니다. 예를 들어 3560은 최대 2를 지원합니다.
캡처 후이 세션 구성을 제거하는 것을 잊지 마십시오.
# no monitor session 1
트래픽이 Cisco IOS 12.4 (20) T 이상을 실행하는 라우터를 통과하는 경우 임베디드 패킷 캡처 기능을 사용할 수도 있습니다.
이 기능은 3560 또는 3750과 같은 스위치 플랫폼에서는 사용할 수 없습니다.
이 기능은 Wireshark로 다운로드하여 분석 할 수있는 작은 PCAP 파일을 라우터에 캡처하고 저장하는 것입니다.
믹스에 ELAM을 추가하고 싶습니다. ELAM은 PFC3 (6500, 7600)에서 지원됩니다.
'서비스 내부'를 사용하도록 설정해야하지만 실행하기에 매우 안전한 기능입니다. 프로덕션 네트워크에서 많은 것을 실행했지만 아직 부정적인 영향을받지는 않았습니다.
기본적으로 ELAM은 DBUS (Data BUS)를 통해 PFC에 조회 처리를 위해 전송 한 내용과 PBUS가 RBUS (결과 BUS)에서 조회 결과로 제공 한 내용을 보여줍니다.
트리거의 경우 온라인 도움말, IP_SA == IP 소스 주소, IP_DA == IP 대상 주소 등이 있으며 다른 많은 항목도 사용할 수 있습니다. 확인하려는 항목을 사용할 수없는 경우 첫 64B에서 임의의 데이터에 대해 데이터 + 마스크 일치를 수행 할 수 있습니다.
임의 트리거는 약간 어색하지만 수명이 다할 수 있으므로 다음과 같이 사용하십시오.
data = DATA1 DATA2 DATAn [MASK1 MASK2 MASKn] 인 경우 플랫폼 캡처 elam 트리거 dbus 기타 표시
DMAC에서 데이터가 시작됩니다. 따라서 우리는 [0 1951]의 수신 MPLS 스택을 잡아 내고 싶지만 MAC 주소는 신경 쓰지 않고 다음과 같이 할 수 있습니다.
데이터 = 000 0x88470000 0x00000079 0xF0000000 [0 0xffffffff 0xf000ffff 0xf0000000] 인 경우 플랫폼 캡처 엘람 트리거 dbus 기타
출력 예는 다음과 같습니다.
7600#show platform capture elam data
DBUS data:
SEQ_NUM [5] = 0x1D
QOS [3] = 1
QOS_TYPE [1] = 0
TYPE [4] = 0 [ETHERNET]
STATUS_BPDU [1] = 0
IPO [1] = 1
NO_ESTBLS [1] = 0
RBH [3] = b000 ! port-channel hash
CR [1] = 1 ! recirculated
TRUSTED [1] = 1
NOTIFY_IL [1] = 0
NOTIFY_NL [1] = 0
DISABLE_NL [1] = 0
DISABLE_IL [1] = 0
DONT_FWD [1] = 0
INDEX_DIRECT [1] = 0
DONT_LEARN [1] = 0
COND_LEARN [1] = 0
BUNDLE_BYPASS [1] = 0
QOS_TIC [1] = 1
INBAND [1] = 0
IGNORE_QOSO [1] = 0
IGNORE_QOSI [1] = 0
IGNORE_ACLO [1] = 0
IGNORE_ACLI [1] = 0
PORT_QOS [1] = 0
CACHE_CNTRL [2] = 0 [NORMAL]
VLAN [12] = 4086
SRC_FLOOD [1] = 0
SRC_INDEX [19] = 0xC0 ! divmod64(0xc0) = 3,0, add 1 to each, 4/1 == our physical port
LEN [16] = 102
FORMAT [2] = 0 [IP]
MPLS_EXP [3] = 0x0
REC [1] = 0
NO_STATS [1] = 0
VPN_INDEX [10] = 0x7F
PACKET_TYPE [3] = 0 [ETHERNET]
L3_PROTOCOL [4] = 0 [IPV4]
L3_PT [8] = 1 [ICMP]
MPLS_TTL [8] = 0
SRC_XTAG [4] = 0xF
DEST_XTAG [4] = 0xA
FF [1] = 0
MN [1] = 0
RF [1] = 1
SC [1] = 0
CARD_TYPE [4] = 0x0
DMAC = 8843.e1de.22c0
SMAC = 0000.0000.0000
IPVER [1] = 0 [IPV4]
IP_DF [1] = 1
IP_MF [1] = 0
IP_HDR_LEN [4] = 5
IP_TOS [8] = 0x0
IP_LEN [16] = 84
IP_HDR_VALID [1] = 1
IP_CHKSUM_VALID [1] = 1
IP_L4HDR_VALID [1] = 1
IP_OFFSET [13] = 0
IP_TTL [8] = 63
IP_CHKSUM [16] = 0xBCF1
IP_SA = x.x.x ! to protect the guilty
IP_DA = y.y.y.y ! to protect the guilty
ICMP_TYPE [8] = 0x8
ICMP_CODE [8] = 0x0
ICMP_DATA [104]
0000: A0 8B 18 A5 00 39 46 35 BF 51 00 6F 3C ".....9F5.Q.o<"
CRC [16] = 0x71B3
RBUS data:
SEQ_NUM [5] = 0x1D
CCC [3] = b100 [L3_RW] ! normal L3_RW, we know it was not dropped, L2/mls policed etc
CAP1 [1] = 0
CAP2 [1] = 0
QOS [3] = 0
EGRESS [1] = 0
DT [1] = 0 [IP]
TL [1] = 0 [B32]
FLOOD [1] = 1
DEST_INDEX [19] = 0x3E8 ! same as VLAN, but not always
VLAN [12] = 1000 ! you may need to check internal vlan
RBH [3] = b111 ! again, port-channel hash
RDT [1] = 0
GENERIC [1] = 0
EXTRA_CICLE [1] = 0
FABRIC_PRIO [1] = 0
L2 [1] = 0
FCS1 [8] = 0x1
IP_TOS_VALID [1] = 1
IP_TOS_OFS [7] = 15
IP_TOS [8] = 0x0
IP_TTL_VALID [1] = 1
IP_TTL_OFS [7] = 22
IP_TTL [8] = 62
IP_CSUM_VALID [1] = 1
IP_CSUM_OFS [7] = 24
IP_CSUM [16] = 0xBDF1
DELTA_LEN [8] = 0
REWRITE_INFO
i0 - replace bytes from ofs 0 to ofs 11 with seq 'D0 D0 FD 09 34 2D 88 43 E1 DE 22 C0'. ! this is the actual L2 rewrite data, so you should obviously see DMAC and SMAC here
FCS2 [8] = 0x0
7600#
대부분의 더 큰 플랫폼에는 이러한 유형의 전송 패킷에 대한 저수준 캡처가 있습니다. 이는 HW가 구성에서 수행하는 작업을 수행하고 있는지 확인해야 할 때 특히 유용합니다. 때로는 소프트웨어 결함이 있으며 예상과 다른 것입니다.
GSR에서는 메모리에서 운송을 볼 수 있다는 것을 알고 있습니다. Juniper Trio에는 매우 유용한 도구가 있습니다. 브로케이드가 할 수 있습니다. 벤더 페이지에 문서화되어 있지 않은 것은 당황 스럽습니다.