Dường như có một chút nhầm lẫn ... bạn đang hỏi về các bảng ARP và bạn đang sử dụng OID .1.3.6.1.2.1.17.4.3.1.2
; tuy nhiên, OID đó thực sự dành cho bảng địa chỉ mac trong chuyển đổi.
Tôi giả sử bạn biết cách đăng nhập vào máy chủ Ubuntu của mình và đã NET-SNMP
được cài đặt ... vui lòng cho tôi biết nếu bạn cần con trỏ để thực hiện việc này (xem câu hỏi này để biết gợi ý về việc tải MIB trong linux ). Một số ví dụ của tôi cho rằng bạn đã tải MIB trên máy chủ của mình ... bạn chỉ cần xóa -m <mib-name>
tùy chọn trong các lệnh nếu bạn không tải MIB cục bộ.
Tôi xin lỗi trước về độ dài của câu trả lời này ... Tôi muốn bỏ phiếu với SNMP không phức tạp ...
Bỏ phiếu trong bảng địa chỉ mac:
Nếu bạn thực sự muốn bảng địa chỉ mac từ công tắc, thì hãy nhớ rằng bạn phải thay đổi chuỗi cộng đồng mà bạn thăm dò ý kiến ... nó phải ở dạng <commity@vlan>
... mỗi vlan bạn thăm dò cần một cộng đồng khác nhau.
Trong ví dụ của tôi dưới đây, công tắc tại 172.16.1.210 được định cấu hình snmp-server community public ro
và tôi đang bỏ phiếu bảng địa chỉ mac trong vlan-10 với dot1dTpFdbPort từ BRIDGE-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 ~]$
Trong đầu ra ở trên, 52 là giá trị của dot1dBasePort
, là số mà MIB sử dụng để lập chỉ mục cho bảng dot1dTp. Để dịch nó thành một tên giao diện bình thường, bạn phải ánh xạ nó sang ifName ... BRIDGE-MIB thực hiện điều đó với dot1dBasePort IfIndex ...
[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 ~]$
Do đó, chúng tôi biết rằng tất cả các địa chỉ mac trên công tắc này đã được học thông qua FastEthernet 0/48 trong vlan-10.
Bỏ phiếu cho các Vlans đang hoạt động:
Nếu bạn không chắc chắn mà VLAN để thăm dò trên một switch, bạn có thể nhận được rằng thông tin từ .1.3.6.1.4.1.9.9.46.1.3.1.1.2
, đó là vtpVlanState trong 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 ~]$
Hãy nhớ rằng Vlans 1002-1005 là Vlans nội bộ của Cisco mà bạn không nên thăm dò ý kiến.
Bỏ phiếu cho bảng ARP
Nếu bạn thực sự muốn bảng ARP từ công tắc, thì bạn cần bỏ phiếu tạiPhysAddress ...
[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 ~]$
Lưu lệnh đầu ra vào một tập tin
Chúng tôi đang đào sâu vào các khu vực nằm ngoài phạm vi bình thường của trang web này, nhưng để lưu bảng ARP ở trên vào một tệp /tmp/S01_ARP.txt
, bạn sẽ thêm > /tmp/S01_ARP.txt
vào cuối phần snmpbulkwalk
trên ...
[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 ~]$
Như bạn thấy ở trên, bạn có thể sử dụng cat
trong linux để lấy tất cả đầu ra từ một tệp văn bản. LƯU Ý: Một số bản phân phối linux (ahem ... CentOS) dọn sạch /tmp
thư mục hàng tháng. Bạn nên sử dụng HOME
thư mục của bạn trong linux để lưu trữ tệp. Tôi không nhớ việc dọn dẹp Ubuntu /tmp
, nhưng để an toàn, tôi sẽ tránh lưu trữ mọi thứ ở đó.
Ghi chú linh tinh về SNMP ...
Nếu bạn chưa tải tất cả MIB của Cisco trên máy Ubuntu, thì bạn nên tránh sử dụng các -m <mib-name>
cờ trong các snmpbulkwalk
lệnh. Tải MIB cho phép bạn thăm dò ý kiến bằng tên OID, thay vì số chấm dài ...
Thông tin tham khảo:
Tôi bao gồm một số lệnh hiển thị từ công tắc, trong trường hợp bạn có câu hỏi về CLI cho các lệnh SNMP ở trên ...
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#