ฉันจะจับภาพทราฟฟิกบนสวิตช์ Cisco IOS ได้อย่างไร


23

สำหรับการตรวจสอบปัญหาในการสื่อสารกับลูกค้าของเซิร์ฟเวอร์ฉันต้องจับแพ็คเก็ตสำหรับการวิเคราะห์ อย่างไรก็ตามไม่อนุญาตให้ติดตั้งตัววิเคราะห์แพ็คเก็ตเช่น Wireshark หรือ tcpdump บนไคลเอนต์หรือเซิร์ฟเวอร์ ไคลเอ็นต์เชื่อมต่อกับ Catalyst 3560 และเซิร์ฟเวอร์ไปยังสวิตช์ Catalyst 3750

ฉันสามารถเชื่อมต่อแล็ปท็อปของฉันเข้ากับสวิตช์พอร์ตสำหรับการรับส่งข้อมูลด้วยตัววิเคราะห์แพ็คเก็ตแล็ปท็อปของฉันได้อย่างไร


ฉันตอบคำถามแบบเดียวกันกับ Brocade ที่นี่: networkengineering.stackexchange.com/questions/672/…รู้สึกแปลก ๆ ... :)
Benjamin A.

@BenjaminA ที่ดี! ขอบคุณสำหรับการแก้ปัญหาสำหรับโบรเคดและเพิ่มลิงค์ที่นี่!
สเตฟาน

มีการกำหนดค่าในเซสชันที่จะอนุญาตให้พีซี / เซิร์ฟเวอร์ที่จับภาพยังคงเลือก IP จาก DHCP หรือไม่
mickeyHR

คำตอบใดช่วยคุณได้บ้าง ถ้าเป็นเช่นนั้นคุณควรยอมรับคำตอบเพื่อที่คำถามจะไม่โผล่ขึ้นมาเรื่อย ๆ โดยมองหาคำตอบ หรือคุณสามารถให้และยอมรับคำตอบของคุณเอง
Ron Maupin

คำตอบ:


34

ไคลเอ็นต์ switchport หรือเซิร์ฟเวอร์ switchport สามารถตรวจสอบได้ พอร์ตสวิตช์ที่สามสามารถกำหนดค่าเป็นพอร์ตมิรเรอร์ ซึ่งหมายความว่ามิเรอร์พอร์ตนี้จะได้รับสำเนาของแพ็คเก็ตทั้งหมดในพอร์ตเดิมที่เกี่ยวข้องในขณะที่ปริมาณการใช้งานดั้งเดิมจะไม่ได้รับผลกระทบ

ตัวอย่างเช่นบน Catalyst 3560:

  1. เข้าสู่โหมดการกำหนดค่า:

    conf t
    
  2. กำหนดแหล่งที่มาและตั้งค่าหมายเลขเซสชัน:

    monitor session 1 source interface fa 0/24
    

    ที่นี่หมายเลขเซสชันอาจมีค่าตั้งแต่ 1 ถึง 66 คุณสามารถระบุ VLAN หรือช่องทางอีเธอร์เน็ต นอกจากนี้ช่วงอินเทอร์เฟซเช่นเป็นfa 0/25 - 26ไปได้และรายการอินเทอร์เฟซเช่นfa 0/24,fa 0/26ถ้าคุณต้องการตรวจสอบไคลเอนต์หลายในเวลาเดียวกัน noนอกจากนี้โดยการทำซ้ำคำสั่งที่คุณสามารถเพิ่มพอร์ตหรือลบโดยใช้ การผสมพอร์ตและ VLAN ไม่สามารถทำได้ในเซสชันเดียวกันข้อ จำกัด อื่นคือคุณไม่สามารถใช้พอร์ตปลายทางเป็นพอร์ตต้นทางได้

  3. กำหนดพอร์ตปลายทาง:

    monitor session 1 destination interface gi 0/1
    

    คุณสามารถใช้พอร์ตปกติ แต่ไม่ใช่ VLAN เช่นเดียวกับข้างต้นพอร์ตปลายทางไม่สามารถเป็นพอร์ตต้นทาง: พอร์ตที่ใช้ที่นี่สามารถเป็นแหล่งที่มาหรือพอร์ตปลายทางและหนึ่งเซสชันเท่านั้น อีกครั้งคุณสามารถระบุหลายพอร์ตเช่นด้านบน

  4. คุณอาจต้องการexitโหมดการกำหนดค่าและบันทึกการกำหนดค่า

  5. คุณอาจดูเซสชั่นที่คุณกำหนด - ที่นี่มีหลายพอร์ตลองเหมือนด้านบน:

    #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) VLANs กรองและอื่น ๆ Ingress: Disabledบรรทัดหมายความว่าสวิทช์จะไม่ยอมรับกรอบใด ๆ ที่นำเสนอให้ได้โดยอุปกรณ์จับภาพของคุณบนพอร์ตปลายทาง สำหรับรายละเอียดปลีกย่อยและข้อ จำกัด เพิ่มเติมและการตั้งค่าเริ่มต้นดูที่การอ้างอิงคำสั่งของเวอร์ชั่น IOS ของสวิตช์ของคุณ

เมื่อคุณกำหนดค่าพอร์ตต้นทางและปลายทางแล้วคุณสามารถจับภาพทราฟฟิกโดยใช้แล็ปท็อปของคุณเชื่อมต่อกับพอร์ตปลายทางเช่นด้วย Wireshark

จำนวนเซสชันต้นทางสามารถถูก จำกัด ตัวอย่างเช่น 3560 รองรับสูงสุด 2

หลังจากการจับภาพอย่าลืมลบการกำหนดค่าเซสชันนี้


1
คุณสามารถออกจากเซสชันการตรวจสอบและเพียงแค่ปิดการใช้งานลิงค์ใน NIC ของจอภาพโฮสต์ของคุณ แพ็คเก็ตจะไม่ถูกดักจับและส่งลิงก์ที่ไม่ทำงาน บนเซิร์ฟเวอร์ Windows ฉันมี NIC คู่กับหนึ่งเรียกว่า SPAN เมื่อฉันไม่ต้องการให้สวิตช์ทำการโอเวอร์เฮดของการจับภาพฉันเพียงเข้าสู่คุณสมบัติเครือข่ายและปิดใช้งาน SPAN NIC (โดยปกติพอร์ตต้นทางจะเปลี่ยนไป แต่พอร์ตปลายทางยังคงเหมือนเดิมดังนั้นฉันรู้ว่าฉันกำลังจะทำมิรเรอร์อีกครั้งกับโฮสต์ปลายทางเดียวกันในอนาคต)
generalnetworkerror

หากต้องการปิดใช้งานเซสชันการตรวจสอบให้ใช้# no monitor session 1
wimh

17

หากการรับส่งข้อมูลของคุณเกิดขึ้นผ่านเราเตอร์ที่ใช้งาน Cisco IOS 12.4 (20) T หรือสูงกว่าความเป็นไปได้อีกอย่างก็คือการใช้คุณสมบัติการจับแพ็คเก็ตในตัว

คุณลักษณะนี้ไม่สามารถใช้ได้กับแพลตฟอร์มสวิตช์เช่น 3560 หรือ 3750

สิ่งที่คุณสมบัตินี้ทำคือการจับและบันทึกไฟล์ PCAP ขนาดเล็กบนเราเตอร์ที่คุณสามารถดาวน์โหลดและวิเคราะห์ด้วย Wireshark

ไม่กี่ เชื่อมโยงกับรายละเอียด


7
... และนี่คือเหตุผลว่าทำไมมันเป็นเรื่องปกติเมื่อผู้คนโพสต์แล้วตอบคำถามของตัวเอง: เนื่องจากผู้ใช้รายอื่นได้รับแจ้งให้กระโดดเข้ามาและเพิ่มสิ่งใหม่ หวาน.
Craig Constantine

ในขณะที่เราอยู่ที่นี่ ASA มักจะมีคุณสมบัตินี้อยู่เสมอโดยใช้คำสั่งcapture มันสืบทอดมาจาก PIX ซึ่งมีตั้งแต่ 6.2 เป็นต้นไป
James Sneeringer

5

ฉันต้องการเพิ่ม ELAM ลงในส่วนผสม ELAM รองรับ PFC3 (6500, 7600)

คุณต้องเปิดใช้งาน 'บริการภายใน' แต่คุณลักษณะที่ปลอดภัยในการใช้งานฉันได้ใช้งานได้ดีในเครือข่ายการผลิตและยังไม่เคยได้รับผลกระทบด้านลบ

โดยพื้นฐานแล้วสิ่งที่ ELAM ทำคือแสดงให้คุณเห็นว่าอะไรคือสิ่งที่ส่งไปเพื่อประมวลผลการค้นหาไปยัง PFC ผ่าน DBUS (Data BUS) และสิ่งที่ PFC ให้เป็นผลการค้นหาใน RBUS (บัส BUS)

  1. แสดง cap plat elam asic superman slot DFC / PFC_SLOT_YOU_WANT_TO_LOOK
  2. แสดง plat cap elam trigger dbus ipv4 ถ้า ip_sa = 192.0.2.1
  3. แสดงหมวก plat elam เริ่มต้น
  4. แสดงข้อมูล elam cap plat

สำหรับทริกเกอร์นั้นมีวิธีใช้ออนไลน์ IP_SA == ที่อยู่แหล่งที่มา IP, IP_DA == ที่อยู่ปลายทาง IP มีคนอื่น ๆ อีกมากมาย หากสิ่งที่คุณต้องการตรวจสอบไม่พร้อมใช้งานคุณสามารถทำ data + mask match สำหรับข้อมูลโดยพลการใน 64B แรก
ทริกเกอร์ตามอำเภอใจนั้นค่อนข้างน่าอึดอัดใจ แต่สามารถ lifesafer ได้คุณจะใช้มันดังนี้:

แสดงการดักจับ elam ของแพลตฟอร์มอื่น ๆ dbus ถ้า data = DATA1 DATA2 DATAn [MASK1 MASK2 MASKn]

ข้อมูลเริ่มต้นจาก DMAC สมมติว่าเราต้องการจับ MPLS สแต็กขาเข้าของ [0 1951] แต่เราไม่สนใจที่อยู่ MAC เราสามารถทำได้:

แสดงการดักจับแพลตฟอร์ม elam ทริกเกอร์อื่น ๆ ของ dbus ถ้า data = 0 0 0 08888470000 0x00000079 0xF0000000 [0 0 0 0 0xffffffff 0xf000ffff 0xf0000000]


เอาต์พุตตัวอย่างอาจเป็น:

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 มีเครื่องมือที่ดีเช่นกัน ผ้าสามารถทำได้ มันค่อนข้างงุนงงที่พวกเขาไม่ได้บันทึกไว้ในหน้าผู้ขาย


1

ฉันได้ถามคำถามที่คล้ายกันเกี่ยวกับข้อผิดพลาดของเซิร์ฟเวอร์และอาจใช้คำตอบได้ที่นี่

คำสั่งการดีบัก Cisco IOS และการตรวจสอบแพ็คเก็ต

แก้ไขปัญหา Ethernet (ชั้น 2) โดยไม่มีชั้น 3

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.