IP címek kiszámítása a snmp-en keresztül vagy az elérési útvonali táblázat elérése

Főoldal »Programozási cikkek» Visual C ++ - Minden cikk »

Beszélj a fórumon

Tehát van egy dolog, amely egyesíti a fenti összes IPCONFIG, NETSTAT, ROUTE és ARP segédprogramot. Mindegyik DLL-t használ INETMIB1.DLL néven.

A Microsoft dokumentációja szerint ez egy kiterjesztés az SNMP ügynök számára. Ha helyesen hivatkozunk erre a DLL-re, akkor megkapjuk az összes szükséges információt, valamint sokkal többet. Mindössze annyit kell tennünk, hogy emuláljuk a kiterjeszthető Windows ügynököt, és hívjuk az OID DLL-t.

Lássuk, milyen SMNP, bővíthető ügynök és OID van.

Mi az SNMP

Az SNMP a Simple Network Management Protocol (Simple Network Management Protocol) rövidítése. Az SNMP-t úgy tervezték meg, hogy megoldja a komplex hálózati menedzsment problémát. A mai napig szinte az összes eszköz egy vagy több módon csatlakozik a hálózathoz: nyomtatók, útválasztók, ismétlők, hidak, többfunkciós szerverek és asztali számítógépek. (Az egyetlen dolog, ami még nem csatlakozik a hálózathoz - ez kávéfőzők, hűtőgépek és porszívók, de azt hiszem, hogy ki fog jönni hamarosan óra :) Ezen eszközök mindegyike saját beállításokkal, a beállításokat, és biztosítja a különböző információkat magukról.

Az SNMP közvetlenül a hálózaton keresztül képes adatokat feldolgozni a hálózaton található összes eszközről. Ez egy erőteljes és mégis rugalmas eszköz, amely különböző típusú adatstruktúrákat és lekérdezéseket támogat, amelyek kompatibilisek a hálózaton található bármely eszközzel.

Az SNMP modellben van egy olyan szoftver ügynök, amely folyamatosan csatlakozik egy hálózati eszközhöz. Az ügynök feladatai közé tartozik az eszközhöz kapcsolódó összes információ összegyűjtése. Ezenkívül az ügynök kezeli a bejövő kérést a hálózaton.

SMNP adatstruktúra

Az SNMP-ügynök által feldolgozott adatok "kezelési információs bázisok" vagy rövidített MIB-ként vannak felosztva. A MIB-eket az "Absztrakt szintaxis-jelölés" nevű meghatározási nyelv segítségével írják le. Bármely program képes kommunikálni az ügynökével és a kapott folyamatinformációkkal csak akkor, ha van MIB-ügynöke.

A MIB-ben található információk korlátlan számú tárgyat írhatnak le. Minden objektumnak egyedi azonosítója van, az úgynevezett OID. Egyszerűen fogalmazva, egy OID olyan számok sorozata, amelyek egy objektumot azonosítanak. Minden objektum, amely az SNMP-n keresztül feldolgozható, saját egyedi OID-jával rendelkezik. A világon minden létező OID-t egy nagy fa struktúrába szerveznek. Az OID-eket ábrázoló számok sorrendje a fa ág azonosítója. A fa egyes részeit az IETF rendelte hozzá, hogy biztosítsa a fa egyes ágainak egyediségét.

Minden ágnak van egy neve és egy hozzá tartozó száma. Ennek megfelelően minden SNMP objektumnak hasonló neve van: az iso.org.dod.internet, amely megfelel az 1.3.6.1 számnak.

Az alapvető részfüleken található alapvető TCP / IP objektumokat a "MIB-II alapján" nevezik. Az MibII meghatározása megtalálható az RFC1213-ban. MIBII fájl olvasása, azt látjuk, hogy annak érdekében, hogy információt a rendszer, meg kell vizsgálni az értéke iso.org.dod.internet.mgmt.mib-2.system.sysDescr (1.3.6.1.2.1.1.1.0 )

Az IP-maszkok beszerzéséhez az 1.3.6.1.2.1.4.20.1.3-ot kell indítani OID-ként.

SMNP és Windows

Így hát a DLL-ke-hez. Ez a DLL háromféle funkcióval kommunikál az ügynök segítségével az API-n keresztül:
  • SnmpExtensionInit - Agent inicializáló funkció.
  • SnmpExtensionQuery - A lekérdezés fő funkciója.
  • A SnmpExtensionTrap egy horogkezelő.
A Dll is támogathatja
  • SnmpExtensionInitEx () - Ez egy kiterjesztett változata SnmpExtensionInit, amely nagyobb lehetőséget, mint SnmpExtensionInit.

SNMP parancsok

Az SNMP három alapvető parancsot tartalmaz: Get, Set és GetNext. Minden SnmpExtensionQuery hívás megfelelő mennyiségű adatot tartalmaz. Ez a függvény átveszi az RFC1157VarBindList típusú struktúrát. Ez a struktúra a VarBind elemeinek listája, amelyek a következők szerint vannak meghatározva:

A VarBind struktúra mind az elem nevét (OID) tartalmazza. és annak fontosságát.

A Get és a Set szolgáltatás az objektumadatok elérésére szolgál, és nekünk nincs szükségük rájuk, hogy megkapjuk az érdeklődő információkat.

A GetNext kissé eltér a Get és Set alkalmazástól. Az ügynök támogatja a hosszú OID-fát. Ha lekérdezést hajt végre a SnmpExtensionQuery-n keresztül a GetNext segítségével, akkor a függvény az első olyan értéket adja vissza, amelyet az ügynök támogat, és lexicográfiai módon nagyobb lesz, mint az OID által szolgáltatott érték.

Hogyan kommunikálhat az inetmib1.dll programmal?

A programozó fóruma
hírek
vélemények
Shop programozó
Linkek katalógusa
keresés
Fájl hozzáadása
visszacsatolás

Kapcsolódó cikkek