Acasă »Articole de programare» Visual C ++ - Toate articolele »
Discutați pe forum
Deci, există un singur lucru care unește toate utilitățile de mai sus IPCONFIG, NETSTAT, ROUTE și ARP. Toate acestea folosesc un DLL sub numele INETMIB1.DLL.
Documentația Microsoft spune că aceasta este o extensie pentru agentul SNMP. Dacă ne referim corect la acest DLL, atunci putem obține toate informațiile de care avem nevoie, precum și multe altele. Tot ce trebuie să faceți este să emulați agentul extensibil Windows și să apelați DLL-ul OID.
Să vedem ce sunt SMNP, agent extensibil și OID.
Ce este SNMP?
SNMP înseamnă Simple Network Management Protocol (Simple Network Management Protocol). SNMP a fost conceput pentru a rezolva o problemă complexă de gestionare a rețelei. Astăzi, aproape toate dispozitivele într-un fel conectate la rețea: imprimante, routere, repetoare, poduri, multi-server și calculatoare desktop. (Singurul lucru care nu este încă conectat la rețea - această cafea factorii de decizie, frigidere și aspiratoare, dar cred că va veni în curând și ora :) Fiecare dintre aceste dispozitive are propriile setări, setările, și poate oferi o varietate de informații despre ei înșiși.
SNMP permite direct prin rețea să proceseze informații de la orice dispozitive care se află în rețea. Este un instrument puternic și totuși flexibil, care suportă diferite tipuri de structuri de date și interogări compatibile cu orice dispozitive din rețea.
În modelul SNMP, există un astfel de lucru ca un agent software care este conectat în mod constant la un dispozitiv de rețea. Sarcinile agentului includ colectarea tuturor informațiilor asociate acestui dispozitiv. În plus, agentul gestionează cererea de intrare din rețea.
Structura datelor SMNP
Datele prelucrate de agentul SNMP sunt împărțite în părți numite "baze de informații de management" sau MIB abreviate. MIB-urile sunt descrise printr-o limbă de definiție numită "Notă de sintaxă abstractă". Orice program poate comunica cu agentul și informațiile de proces primite de la acesta numai dacă are un agent MIB.
Informațiile conținute în MIB pot descrie un număr nelimitat de obiecte. Fiecare obiect are un identificator unic, numit OID. Pur și simplu, OID este o secvență de numere care identifică un obiect. Fiecare obiect care poate fi procesat prin SNMP are propriul OID unic. Toate OID-urile existente din lume sunt organizate într-o structură arborescentă mare. Secvențele de numere care reprezintă OID-urile sunt identificatorii ramurilor de copaci. Fiecare subtree din arbore este atribuit de IETF pentru a asigura unicitatea fiecărei ramuri a copacului.
Fiecare ramură are un nume și un număr asociat cu acesta. În consecință, toate obiectele SNMP au un nume similar: iso.org.dod.internet care corespunde numărului 1.3.6.1.
Toate obiectele TCP / IP de bază conținute în subrețelele de bază sunt numite "bazate pe MIB-II". Definiția lui MibII poate fi găsită în RFC1213. MIBII citirea fișierului, putem vedea că, în scopul de a obține informații de sistem, trebuie să ia în considerare valoarea iso.org.dod.internet.mgmt.mib-2.system.sysDescr (1.3.6.1.2.1.1.1.0 )
Pentru a obține măști IP, trebuie să utilizați 1.3.6.1.2.1.4.20.1.3 ca OID de pornire.
SMNP și Windows
Deci, înapoi la DLL-ke. Acest DLL comunică cu agentul prin API prin intermediul a trei funcții:- SnmpExtensionInit - Funcția de inițializare a agentului.
- SnmpExtensionQuery - Funcția principală a interogării.
- SnmpExtensionTrap este un dispozitiv de manipulare a cârligului.
- SnmpExtensionInitEx () - Aceasta este o versiune extinsă a SnmpExtensionInit, care oferă mai multe caracteristici decât SnmpExtensionInit.
Comenzi SNMP
SNMP are trei comenzi de bază - Get, Set și GetNext. Fiecare apel SnmpExtensionQuery conține o cantitate decentă de date. Această funcție este trecută printr-o structură de tip RFC1157VarBindList. Această structură este o listă a elementelor lui VarBind, care sunt definite după cum urmează:
Structura VarBind conține atât numele elementului (OID). și importanța acesteia.
Get & Set sunt folosite pentru a accesa datele obiectului și nu avem nevoie de ele pentru a obține informațiile de care suntem interesați.
GetNext este ușor diferit de Get and Set. Este folosit pentru a călători prin arborele OID lung pe care agentul îl susține. Dacă faceți o interogare în SnmpExtensionQuery prin GetNext, funcția returnează prima valoare pe care agentul o suportă și va fi lexicografic mai mare decât cea furnizată de OID.
Cum să comunicați cu inetmib1.dll
Forumul programatorului
știri
comentarii
Programator magazin
Catalog de legături
căutare
Adăugați fișier
feedback-ul