ELAM'ı karışıma eklemek istiyorum. ELAM, PFC3'te (6500, 7600) desteklenmektedir.
'Hizmet içi' özelliğini etkinleştirmeniz gerekir, ancak çalıştırması oldukça güvenli bir özelliktir, üretim ağlarında iyi bir anlaşma yaptım ve bir zamanlar olumsuz bir etki yaşamadım.
Temel olarak ELAM'ın yaptığı şey, size DBUS (Data BUS) üzerinden PFC'ye arama işlemi için nelerin gönderildiğini ve PFC'nin RBUS'ta (Sonuç BUS) arama sonucu olarak ne sağladığını gösterir.
- platform kapağını göster elam asic superman yuvası DFC / PFC_SLOT_YOU_WANT_TO_LOOK
- plat kapağını göster elam tetiği dbus ipv4 ise ip_sa = 192.0.2.1
- plat başlığını göster elam başlangıç
- plat cap elam verilerini göster
Tetikleyiciler için çevrimiçi yardım var, IP_SA == IP Kaynak Adresi, IP_DA == IP Hedef Adresi, diğerleri var. Kontrol etmek istedikleriniz mevcut değilse, ilk 64B'de rastgele veriler için veri + maske eşleştirmesi yapabilirsiniz.
Keyfi tetikleyici biraz garip ama can yeleği olabilir, bu şekilde kullanacaksınız:
platform yakalamayı göster elam tetikle dbus diğerleri ise veri = DATA1 DATA2 DATAn [MASK1 MASK2 MASKn]
Veri DMAC'dan başlar. Öyleyse, [0 1951] 'in gelen MPLS yığınını yakalamak istediğimizi söylüyoruz, ancak MAC adreslerini umursamıyoruz, bunu yapabiliriz:
platform yakalama elamını tetikle dbus komutunu göster diğerleri = 0 0 0 0x88470000 0x00000079 0xF0000000 [0 0 0 0xffffffff 0xf000ffff 0xf0000000]
Örnek çıktı olabilir:
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#
Hemen hemen tüm büyük platformlarda, HW yapılandırmasının ne yaptığını doğrulamanız gerektiğinde, bazen yazılım hataları olduğu ve beklenenden başka bir şey yaptığını doğrulamanız gerektiğinde, son derece kullanışlı olan transit paketler için bu tür düşük düzeyli yakalamalar bulunur.
GSR'de hafızada transit olduğunu görebildiğinizi, Juniper Trio'da bunun için oldukça hoş bir araç olduğunu biliyorum. Brocade yapabilir. Satıcı sayfalarında belgelenmemiş olmaları şaşırtıcıdır.