एक स्विच से एआरपी और मैक-एड्रेस टेबल्स को पुनः प्राप्त करने के लिए एसएनएमपी का उपयोग करना


33

मैं एक स्विच से एआरपी टेबल को एक syslog- एनजी सर्वर पर प्राप्त करना चाहता हूं जो उबंटू सर्वर 12.04 एलटीएस पर स्थापित किया गया है। मैंने एसएनएमपी के बारे में पढ़ा है और मुझे पता है कि सर्वर एक प्रबंधक के रूप में और एजेंट के रूप में स्विच करेगा। मेरे पास विवरण है जहां MIB सम्‍मिलित है, और मुझे कमांड का उपयोग करना चाहिए

snmpwalk -v2c -c <community> <SwitchIP> .1.3.6.1.2.1.17.4.3.1.2

मैं परिणामी arp टेबल को अपने सर्वर पर निर्देशित करना चाहता हूं।

मेरी समस्या यह है कि मुझे नहीं पता कि वास्तव में कमांड को कहां चलाना है, या आउटपुट को फाइल में सेव करना है।


नमस्ते, डेटाबेस में जानकारी जोड़ना ऑफ-टॉपिक है ... सुपर यूजर यह पूछने के लिए एक अच्छी जगह है कि क्या आपको किसी डेटाबेस को संशोधित करने में मदद चाहिए। अगर आपको सवाल के उस हिस्से को हटाने में कोई आपत्ति नहीं है, तो हम इसे फिर से खोल सकते हैं।
माइक पेनिंगटन

मैंने अपना प्रश्न संशोधित किया है
सोसाइटी

"ARP तालिकाओं को सर्वर में रखें" से आपका क्या अभिप्राय है?
माइक पेनिंगटन

Arp तालिकाओं को स्विच द्वारा उत्पन्न किया जाएगा, लेकिन मैं उन्हें सर्वर से देखना चाहता हूं
sosytee

क्या होगा अगर हमने आपको बताया कि कैसे उन्हें एक पाठ फ़ाइल में रखा जाए ... क्या यह ठीक है?
माइक पेनिंगटन

जवाबों:


38

थोड़ा भ्रम होने लगता है ... आप ARP तालिकाओं के बारे में पूछ रहे हैं, और आप OID का उपयोग कर रहे हैं .1.3.6.1.2.1.17.4.3.1.2; हालाँकि, वह OID वास्तव में स्विच में मैक-एड्रेस टेबल के लिए है।

मैं मान रहा हूं कि आप जानते हैं कि अपने उबंटू सर्वर में कैसे लॉगिन करें, और NET-SNMPयह स्थापित है ... कृपया मुझे बताएं कि क्या आपको ऐसा करने के लिए संकेत की आवश्यकता है ( लिनक्स में एमआईबी लोड करने के बारे में संकेत के लिए यह प्रश्न देखें )। मेरे कुछ उदाहरणों से आपको लगता है कि आपके सर्वर पर MIBs लोड हैं ... आपको केवल -m <mib-name>कमांड्स में विकल्प को हटाने की आवश्यकता है यदि आपके पास स्थानीय स्तर पर MIBs लोड नहीं हैं।

मैं इस उत्तर की लंबाई के लिए अग्रिम में माफी चाहता हूं ... मैं चाहता हूं कि एसएनएमपी के साथ मतदान उतना जटिल नहीं था ...

मैक-एड्रेस टेबल पर मतदान:

यदि आप वास्तव में स्विच से मैक-एड्रेस टेबल चाहते हैं, तो याद रखें कि आपको उस समुदाय स्ट्रिंग को बदलना होगा जिसके साथ आप मतदान करते हैं ... यह आपके पास होना चाहिए <commity@vlan>... प्रत्येक vlan आपके द्वारा किए गए पोल को एक अलग समुदाय की आवश्यकता होती है।

नीचे मेरे उदाहरण में, 172.16.1.210 पर स्विच को कॉन्फ़िगर किया गया है snmp-server community public ro, और मैं BRIDGE-MIB से dot1dTpFdbPort के साथ vlan-10 में मैक-एड्रेस टेबल पर मतदान कर रहा हूं ।

[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, जो एक संख्या है जो एमआईबी डॉट 1 डी टीटीपी तालिका को अनुक्रमित करने के लिए उपयोग करता है। एक सामान्य इंटरफ़ेस नाम में अनुवाद करने के लिए, आपको एक 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 ~]$

इस प्रकार हम जानते हैं कि इस स्विच के सभी मैक-एड्रेस फास्टलेन ईथरनेट 0/48 के माध्यम से vlan-10 में सीखे गए थे।

सक्रिय वोटिंग मतदान:

अगर आपको यकीन नहीं है कि कौन सा स्विच ऑन करना है, तो आप उस जानकारी को प्राप्त कर सकते हैं .1.3.6.1.4.1.9.9.46.1.3.1.1.2, जो CISCO-VTP-MIB में vtpVlanState है ...

[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 आंतरिक सिस्को Vlans हैं जिन्हें आपको पोल नहीं करना चाहिए।

एआरपी टेबल पर मतदान

यदि आप वास्तव में स्विच से ARP तालिका चाहते हैं, तो आपको atPhysAddress पर चुनाव करना होगा ...

[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एक पाठ फ़ाइल से सभी आउटपुट प्राप्त करने के लिए लिनक्स में उपयोग कर सकते हैं । नोट: कुछ लिनक्स वितरण (अहम ... CentOS) /tmpमासिक आधार पर निर्देशिका को साफ करते हैं। आपको HOMEफ़ाइल को संग्रहीत करने के लिए अपनी निर्देशिका का उपयोग लिनक्स में करना चाहिए । मुझे उबंटू की सफाई याद नहीं है /tmp, लेकिन सुरक्षित रहने के लिए मैं वहां चीजों को स्टोर करने से बचता हूं।

SNMP के बारे में विविध नोट्स ...

यदि आपने अपने उबंटू मशीन पर सभी सिस्को के एमआईबी को लोड नहीं किया है, तो आपको कमांड -m <mib-name>में झंडे का उपयोग करने से बचना चाहिए snmpbulkwalk। MIBs को लोड करने की अनुमति देता है ताकि आप लंबे बिंदीदार नंबर के बजाय OID नाम से चुनाव कर सकें ...


संदर्भ सूचना:

मैं स्विच से कुछ शो कमांड शामिल कर रहा हूं, यदि आपके पास ऊपर SNMP कमांड के लिए CLI के बारे में प्रश्न हैं ...

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#

उत्तर उपयोगी था, मैं आईपी एड्रेस से ठीक पहले इनबॉक्स का अर्थ जानना चाहूंगा
सोसाइटी

1
जांचें man snmpcmdकि क्या आप एक लिनक्स होस्ट पर हैं और नेट-एसएनएमपी स्थापित है। अन्यथा आप यह जानकारी यहाँ पा सकते हैं: net-snmp.sourceforge.net/docs/man/snmpcmd.html
जॉन जेन्सेन

@MikePennington: क्या आप OIDs ipNetToMediaPhysAddress और ifPhysAddress पर टिप्पणी कर सकते हैं? विशेष रूप से इन तालिकाओं और atPhysAddress के बीच शब्दार्थ अंतर?
मोर्मगिल

उपरोक्त के अलावा, आप उस Ubuntu सर्वर पर netDB स्थापित कर सकते हैं और कई उपकरणों के ARP तालिकाओं पर अधिक दृश्यता प्राप्त कर सकते हैं। netdbtracking.sourceforge.net
कुणाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.