Menerjemahkan output SNMPWALK ke dalam format yang dapat dibaca manusia

12

Saya mengajukan pertanyaan ini yang terkait dengan pertanyaan yang sebelumnya saya tanyakan dan dijawab secara komprehensif oleh @MikePennington. Ketika saya mengajukan pertanyaan itu, saya berniat untuk mengetahui bagaimana cara polling tabel arp dari sebuah switch, tetapi dalam jawabannya, dia menyertakan tabel alamat mac juga. Karena penasaran, saya memilih tabel alamat mac. Saya menggunakan perintah:

 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

Dalam solusi Mike, ia mendapatkan hasil yang jelas seperti ditunjukkan di bawah ini

[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 ~]$

Ini adalah solusi yang jelas di mana Anda dapat dengan mudah memberi tahu port dan Alamat Mac. Namun, solusi saya sendiri muncul dalam bentuk

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

Saya mengerti bahwa nomor port adalah 25, tetapi apakah angka-angka lain mewakili alamat MAC dan jika demikian, mengapa mereka berbeda dari solusi yang diberikan?

Bantuan apa pun akan sangat dihargai. Saya mensurvei switch Cisco Catalyst 2960.

sosytee
sumber
2
Anda kehilangan file MIB yang memberi tahu cara membaca data. Tapi itu hanya presentasi base10 MAC Anda, iso.3.6.1.2.1.17.4.3.1.2. 28.111.101.71.85.113 25, mudah dikonversi ke base16. ruby -e 'p ARGV [0] .split (".") [- 6 ..- 1] .map {| e | e.to_i.to_s (16)}. join (":")' iso.3.6 .1.2.1.17.4.3.1.2.28.111.101.71.85.113 25, menghasilkan "1c: 6f: 65: 47: 55: 71" - tampaknya menjadi gigabyte OUI
ytti
Bisakah Anda memposting alamat MAC yang setara? Sepertinya Anda hanya akan membuangnya dalam desimal alih-alih hex, tetapi kami perlu membandingkan alamat hex.
chrylis -on strike-
satu-satunya cara untuk mendapatkan alamat MAC yang setara adalah dengan mengonversi karena dari solusi itu, semuanya menunjuk ke port 25 jadi saya percaya ini adalah prosedur yang rumit untuk mencoba dan menemukan MAC yang sesuai.
sosytee
@ytti saya harus menginstal MIB di server saya?
sosytee
1
@sytytee ya Anda harus menginstal MIB yang sesuai di server Anda jika mengubahnya sendiri bukanlah suatu pilihan, itu terlalu sepele seperti yang ditunjukkan di atas.
ytti

Jawaban:

8

solusi saya sendiri keluar dalam bentuk

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... apakah angka-angka lain mewakili alamat MAC dan jika demikian, mengapa mereka berbeda dari solusi pemberian?

Pertama, saya minta maaf karena tidak termasuk ketergantungan ini ...

Tabel MIB yang Anda polling diindeks oleh suatu nilai. Dalam hal ini, Anda sedang polling dot1dTpFdbPort(yang muncul sebagai iso.3.6.1.2.1.17.4.3.1.2 , jika Anda tidak memiliki BRIDGE-MIB yang dimuat). OID itu diindeks oleh alamat-mac. Oleh karena itu, 0.20.42.49.139.235 adalah alamat-mac dalam format desimal bertitik ...

Untuk melihat hasil yang Anda harapkan, Anda perlu mendapatkan v2 mibs dari situs FTP Cisco :

  • mkdir /usr/share/snmp/mibs/cisco (sebagai root)
  • cd /usr/share/snmp/mibs/cisco
  • Salin v2.tar.gzyang baru saja Anda unduh/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • Edit /etc/snmp/snmp.confdan jadikan ini baris pertama dalam file:mibdirs +/usr/share/snmp/mibs/cisco

Asumsi :

  • Anda menggunakan perpustakaan NET-SNMP untuk polling
  • MIB default NET-SNMP Anda dimuat /usr/share/snmp/mibs/
  • Konfigurasi NET-SNMP Anda berada di /etc/snmp/snmp.conf
Mike Pennington
sumber