ดูเหมือนจะมีความสับสนเล็กน้อย ... คุณจะถามเกี่ยวกับตาราง ARP, และคุณกำลังใช้ OID .1.3.6.1.2.1.17.4.3.1.2
; อย่างไรก็ตาม OID นั้นมีไว้สำหรับตารางที่อยู่ mac ในสวิตช์
ฉันสมมติว่าคุณรู้วิธีลงชื่อเข้าใช้เซิร์ฟเวอร์ Ubuntu ของคุณและNET-SNMP
ติดตั้งแล้ว ... โปรดแจ้งให้เราทราบหากคุณต้องการตัวชี้สำหรับการทำสิ่งนี้ (ดูคำถามนี้สำหรับคำแนะนำเกี่ยวกับการโหลด MIB ใน Linux ) ตัวอย่างบางส่วนของฉันสมมติว่าคุณได้โหลด MIB บนเซิร์ฟเวอร์ของคุณ ... คุณเพียงแค่ต้องลบ-m <mib-name>
ตัวเลือกในคำสั่งหากคุณไม่ได้โหลด MIB ภายในเครื่อง
ฉันขอโทษล่วงหน้าสำหรับความยาวของคำตอบนี้ ... ฉันหวังว่าการสำรวจด้วย SNMP นั้นไม่ซับซ้อน ...
การสำรวจตารางที่อยู่ mac:
หากคุณต้องการตารางที่อยู่ mac จากสวิตช์โปรดจำไว้ว่าคุณต้องเปลี่ยนสตริงชุมชนที่คุณสำรวจด้วย ... มันควรจะอยู่ในรูปแบบของ<commity@vlan>
... แต่ละ vlan ที่คุณสำรวจต้องการชุมชนที่แตกต่างกัน
ในตัวอย่างด้านล่างของฉัน, สวิทช์ที่ 172.16.1.210 มีการกำหนดค่าด้วยsnmp-server community public ro
และฉันเลือกตั้งตารางแม็คที่อยู่ใน vlan-10 กับdot1dTpFdbPortจากสะพาน MIB
[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 ~]$
ในผลลัพธ์ข้างต้น 52 คือค่าdot1dBasePort
ซึ่งเป็นตัวเลขที่ MIB ใช้เพื่อจัดทำดัชนีตาราง dot1dTp ในการแปลว่าเป็นชื่ออินเทอร์เฟซปกติคุณต้องแมปนั้นกับ ifName ... BRIDGE-MIBทำเช่นนั้นด้วยdot1dBasePortIfIndex ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -m BRIDGE-MIB 172.16.1.210 \
.1.3.6.1.2.1.17.1.4.1.2
BRIDGE-MIB::dot1dBasePortIfIndex.52 = INTEGER: 10048
[mpenning@tsunami ~]$
[mpenning@tsunami ~]$ snmpget -v 2c -c public 172.16.1.210 ifName.10048
IF-MIB::ifName.10048 = STRING: Fa0/48
[mpenning@tsunami ~]$
ดังนั้นเราจึงรู้ว่า mac-address ทั้งหมดบนสวิตช์นี้เรียนรู้ผ่าน FastEthernet 0/48 ใน vlan-10
การสำรวจ Vlans ที่ใช้งานอยู่:
หากคุณไม่แน่ใจว่า vlans ใดที่ต้องการสำรวจความคิดเห็นเกี่ยวกับสวิตช์คุณสามารถรับข้อมูลจาก.1.3.6.1.4.1.9.9.46.1.3.1.1.2
ซึ่งเป็นvtpVlanStateในCISCO-VTP-MIB ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq -m CISCO-VTP-MIB 172.16.1.210 \
.1.3.6.1.4.1.9.9.46.1.3.1.1.2
vtpVlanState[1][1] operational
vtpVlanState[1][10] operational
vtpVlanState[1][1002] operational
vtpVlanState[1][1003] operational
vtpVlanState[1][1004] operational
vtpVlanState[1][1005] operational
[mpenning@tsunami ~]$
โปรดทราบว่า Vlans 1002-1005 เป็นCisco Vlans ภายในที่คุณไม่ควรสำรวจ
การสำรวจตาราง ARP
หากคุณต้องการตาราง ARP จากสวิตช์คุณจะต้องสำรวจที่PhysAddress ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.210 \
.1.3.6.1.2.1.3.1.1.2
atPhysAddress[10][1.172.16.1.5] "80 EE 73 2F 0B 40 "
atPhysAddress[10][1.172.16.1.25] "38 EA A7 6D 2E 8E "
atPhysAddress[10][1.172.16.1.32] "BC 51 FE 50 16 F8 "
atPhysAddress[10][1.172.16.1.200] "00 06 53 FE 39 E0 "
atPhysAddress[10][1.172.16.1.210] "00 18 BA 51 5B 41 "
[mpenning@tsunami ~]$
กำลังบันทึกเอาต์พุตคำสั่งลงในไฟล์
เรากำลังเจาะลึกเข้าไปในพื้นที่ที่อยู่นอกขอบเขตปกติของไซต์นี้ แต่เพื่อบันทึกตาราง ARP ด้านบนลงในไฟล์/tmp/S01_ARP.txt
คุณจะเพิ่ม> /tmp/S01_ARP.txt
ในส่วนท้ายของsnmpbulkwalk
ด้านบน ...
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.210 \
.1.3.6.1.2.1.3.1.1.2 > /tmp/S01_ARP.txt
[mpenning@tsunami ~]$ cat /tmp/S01_ARP.txt
atPhysAddress[10][1.172.16.1.5] "80 EE 73 2F 0B 40 "
atPhysAddress[10][1.172.16.1.25] "38 EA A7 6D 2E 8E "
atPhysAddress[10][1.172.16.1.32] "BC 51 FE 50 16 F8 "
atPhysAddress[10][1.172.16.1.200] "00 06 53 FE 39 E0 "
atPhysAddress[10][1.172.16.1.210] "00 18 BA 51 5B 41 "
[mpenning@tsunami ~]$
ตามที่คุณเห็นด้านบนคุณสามารถใช้cat
ใน linux เพื่อรับเอาต์พุตทั้งหมดจากไฟล์ข้อความ หมายเหตุ: การแจกแจงลินุกซ์บางส่วน (ahem ... CentOS) ทำความสะอาด/tmp
ไดเรกทอรีเป็นรายเดือน คุณควรใช้HOME
ไดเรกทอรีของคุณใน linux เพื่อจัดเก็บไฟล์ ฉันจำอูบุนตูไม่ได้เลย/tmp
แต่เพื่อความปลอดภัยฉันจะหลีกเลี่ยงการเก็บของไว้ที่นั่น
หมายเหตุเกี่ยวกับ SNMP ...
หากคุณไม่ได้โหลด MIB ของ Cisco ทั้งหมดในเครื่อง Ubuntu ของคุณคุณควรหลีกเลี่ยงการใช้-m <mib-name>
แฟล็กในsnmpbulkwalk
คำสั่ง กำลังโหลด MIBs ให้คุณสำรวจความคิดเห็นด้วยชื่อ OID แทนจำนวนจุดที่มีความยาว ...
ข้อมูลอ้างอิง:
ฉันกำลังรวมคำสั่ง show จากสวิตช์ในกรณีที่คุณมีคำถามเกี่ยวกับ CLI สำหรับคำสั่ง SNMP ด้านบน ...
S01#sh ver | i IOS
Cisco IOS Software, C3560 Software (C3560-IPBASEK9-M), Version 12.2(37)SE, RELEASE SOFTWARE (fc2)
S01#
S01#sh mac address-table dynamic
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
10 0006.53fe.39e0 DYNAMIC Fa0/48
10 001d.a1cd.5346 DYNAMIC Fa0/48
10 0030.1bbc.a7d7 DYNAMIC Fa0/48
10 0080.c800.0000 DYNAMIC Fa0/48
10 38ea.a76d.2e8e DYNAMIC Fa0/48
10 80ee.732f.0b40 DYNAMIC Fa0/48
Total Mac Addresses for this criterion: 6
S01#
S01#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.16.1.210 - 0018.ba51.5b41 ARPA Vlan10
Internet 172.16.1.200 0 0006.53fe.39e0 ARPA Vlan10
Internet 172.16.1.32 0 bc51.fe50.16f8 ARPA Vlan10
Internet 172.16.1.25 0 38ea.a76d.2e8e ARPA Vlan10
Internet 172.16.1.5 1 80ee.732f.0b40 ARPA Vlan10
S01#