การแปลเอาต์พุต SNMPWALK เป็นรูปแบบที่มนุษย์อ่านได้


12

ฉันถามคำถามนี้ซึ่งเกี่ยวข้องกับคำถามที่ฉันถามไปก่อนหน้านี้และได้รับคำตอบอย่างครอบคลุมจาก @MikePennington เมื่อฉันถามคำถามนั้นฉันตั้งใจจะรู้วิธีการสำรวจตาราง arp จากสวิตช์ แต่ในคำตอบของเขาเขารวมตารางที่อยู่ mac ด้วย จากการอยากรู้อยากเห็นฉันถึงขนาดสำหรับตารางที่อยู่ mac ฉันใช้คำสั่ง:

 sudo /usr/bin/snmpbulkwalk -v 2c -c public@1 -OXsq 10.0.0.98 .1.3.6.1.2.1.17.4.3.1.2

ในวิธีการแก้ปัญหาของ Mike เขามีผลลัพธ์ที่ชัดเจนดังด้านล่าง

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -OXsq \
    172.16.1.210 .1.3.6.1.2.1.17.4.3.1.2 
dot1dTpFdbPort[0:6:53:fe:39:e0] 52 
dot1dTpFdbPort[0:1d:a1:cd:53:46] 52 
dot1dTpFdbPort[0:30:1b:bc:a7:d7] 52
 dot1dTpFdbPort[0:80:c8:0:0:0] 52 
dot1dTpFdbPort[38:ea:a7:6d:2e:8e] 52 
dot1dTpFdbPort[80:ee:73:2f:b:40] 52 
[mpenning@tsunami ~]$

นี่เป็นโซลูชันที่ชัดเจนซึ่งคุณสามารถบอกพอร์ตและที่อยู่ Mac ได้อย่างง่ายดาย อย่างไรก็ตามทางออกของฉันออกมาในรูปแบบของ

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25
iso.3.6.1.2.1.17.4.3.1.2.0.21.23.10.229.224 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.71.85.113 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.174.157.35 25
iso.3.6.1.2.1.17.4.3.1.2.48.133.169.153.178.62 25
iso.3.6.1.2.1.17.4.3.1.2.60.208.248.182.16.108 25
iso.3.6.1.2.1.17.4.3.1.2.108.240.73.231.208.120 25

ฉันเข้าใจว่าหมายเลขพอร์ตคือ 25 แต่ตัวเลขอื่น ๆ แสดงถึงที่อยู่ MAC และถ้าใช่ทำไมพวกเขาจึงแตกต่างจากวิธีการให้

ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างแท้จริง ฉันสำรวจสวิตช์ Cisco Catalyst 2960


2
คุณไม่มีไฟล์ MIB ที่บอกวิธีการอ่านข้อมูล แต่เป็นเพียงการนำเสนอ base10 ของ MAC ของคุณ iso.3.6.1.2.1.17.4.3.1.2 28.111.101.71.85.113 25 และง่ายต่อการแปลงเป็นฐาน 16 ruby -e 'p ARGV [0] .split (".") [- 6 ..- 1] .map {| e | e.to_i.to_s (16)}. เข้าร่วม (":")' iso.3.6 .1.2.1.17.4.3.1.2.28.111.101.71.85.113 25, ให้ผลตอบแทน "1c: 6f: 65: 47: 55: 71" - ดูเหมือนจะเป็นกิกะไบต์ OUI
ytti

คุณช่วยโพสต์ที่อยู่ MAC ที่เทียบเท่ากันได้ไหม ดูเหมือนว่าคุณอาจจะทิ้งมันเป็นทศนิยมแทนที่จะเป็นฐานสิบหก แต่เราต้องการที่อยู่ฐานสิบหกเพื่อเปรียบเทียบ
chrylis -on strike-

วิธีเดียวที่จะได้รับที่อยู่ MAC ที่เทียบเท่าจะเป็นการแปลงเนื่องจากวิธีการแก้ปัญหานั้นทั้งหมดชี้ไปที่พอร์ต 25 ดังนั้นฉันเชื่อว่ามันเป็นกระบวนการที่ซับซ้อนในการลองและค้นหา MAC ที่สอดคล้องกัน
sosytee

@ytti ฉันควรติดตั้ง MIB บนเซิร์ฟเวอร์ของฉันหรือไม่
sosytee

1
@ sosytee ใช่คุณควรติดตั้ง MIB ที่เหมาะสมในเซิร์ฟเวอร์ของคุณหากการแปลงด้วยตัวคุณเองไม่ใช่ตัวเลือกมันเป็นเรื่องเล็กน้อยมากดังที่แสดงไว้ด้านบน
ytti

คำตอบ:


8

ทางออกของฉันออกมาในรูปแบบของ

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... ตัวเลขอื่น ๆ แสดงถึงที่อยู่ MAC และถ้าใช่ทำไมพวกเขาจึงแตกต่างจากวิธีการแก้ปัญหาให้หรือไม่

ก่อนอื่นฉันต้องขออภัยที่ไม่รวมการพึ่งพานี้ ...

ตาราง MIB ที่คุณกำลังโพลจะถูกทำดัชนีโดยค่า ในกรณีนี้คุณกำลังทำการสำรวจdot1dTpFdbPort(ซึ่งแสดงเป็นiso.3.6.1.2.1.17.4.3.1.2หากคุณไม่ได้โหลด BRIDGE-MIB) OID นั้นถูกจัดทำดัชนีโดยที่อยู่ mac ดังนั้น0.20.42.49.139.235เป็นที่อยู่ mac ในรูปแบบจุดทศนิยม ...

หากต้องการดูผลลัพธ์ที่คุณคาดหวังคุณจะต้องได้รับ v2 mibs จากไซต์ FTP ของ Cisco :

  • mkdir /usr/share/snmp/mibs/cisco (เป็น root)
  • cd /usr/share/snmp/mibs/cisco
  • คัดลอกv2.tar.gzที่คุณเพิ่งดาวน์โหลดไป/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • แก้ไข/etc/snmp/snmp.confและทำให้บรรทัดนี้เป็นบรรทัดแรกในไฟล์:mibdirs +/usr/share/snmp/mibs/cisco

ข้อสมมติฐาน :

  • คุณกำลังใช้ไลบรารี NET-SNMP เพื่อสำรวจความคิดเห็น
  • MIBs เริ่มต้นของ NET-SNMP ของคุณโหลดแล้ว /usr/share/snmp/mibs/
  • การกำหนดค่า NET-SNMP ของคุณอยู่ใน /etc/snmp/snmp.conf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.