Obtendo informações da Interface da placa de rede via SNMP

1

(Movendo isso do SuperUser, percebi que é mais apropriado aqui)

Olá a todos, preciso descobrir como obter com segurança várias informações para interfaces de rede via SNMP, como o endereço IP da placa de rede, gateway, lista de servidores de pesquisa DNS e se o DHCP estiver ativado na interface. / p> Infelizmente eu estou achando que esta informação está espalhada pelos quatro cantos do globo (SNMP), e eu estou tendo um monte de tempo rastreando tudo isso. Até agora eu tenho o endereço IP, e eu acho que eu descobri como obter o gateway, embora eu apreciasse se alguém pudesse provar o meu "algoritmo" para fazê-lo, pois também não tenho certeza como fazê-lo para o IPv6.

Não consigo localizar:

  • Lista de pesquisa de servidores DNS, por cartão de interface de rede
  • DHCP Ativado / Desativado (isto é, endereço IP fixo ou variável), por cartão de interface de rede

Este é o "algoritmo" que eu criei para obter um gateway:

  1. Para cada entrada na IF MIB ifTable, em que ifType = Ethernet, obtém o ifIndex
  2. Se o ifIndex puder ser encontrado no MIB do IP Forward inetCidrRouteTable:
    1. Para endereços IPv4, se inetCidrRouteDest = 0.0.0.0, o gateway é inetCidrRouteNextHop
    2. Eu não sei o que fazer para endereços IPv6 ???
  3. Caso contrário, se o ifIndex puder ser encontrado no IP Forward MIB ipCidrRouteTable
    • se ipCidrRouteDest = 0.0.0.0, o gateway é ipCidrRouteNextHop
  4. Caso contrário, se o ifIndex puder ser encontrado no IP Forward MIB ipForwardTable
    • se ipForwardDest = 0.0.0.0, o gateway é ipForwardNextHop
  5. Caso contrário, se o ifIndex puder ser encontrado na RFC 1213 MIB ipRouteTable
    • se ipRouteDest = 0.0.0.0, o gateway é ipRouteNextHop

Ufa! Como você pode ver, um pesadelo desagradável. Então, alguém pode provar / completar o meu algoritmo de gateway acima, ou me falar sobre DNS / DHCP?

Além disso, as alternativas de script de shell do Unix / Linux não o cortam - por exemplo, eu já sei como fazer isso, e também preciso interrogar dispositivos que não sejam * nix, como os switches Cisco & roteadores e impressoras de rede.

Obrigado!

    
por Irinotecan 07.10.2010 / 23:51

4 respostas

1

Eu gosto de usar o link para ver se um OID é atual ou obsoleto.

Seu alg parece bom para mim. Eu queria que não tivesse que ser tão complicado. Você tentou, por exemplo, apenas verificar ipRouteTable?

Quanto ao DHCP que é ipNetToMediaType ou ipNetToPhysicalType com um valor: INTEGER: dynamic (3).

Não há MIB padrão que contenha os servidores de nomes.

    
por 13.10.2010 / 01:56
1

Em vez de olhar para os índices snmp, você realmente quer usar o programa "sneable".

Por exemplo

/ usr / bin / snmptable -v2c -c public $ HOST NETAPP-MIB :: netifTable

MIBS são realmente legíveis para humanos. Para o resto, RedGrittyBrick disse tudo.

    
por 27.05.2011 / 14:06
0

O que eu costumava fazer era usar o snmpwalk para enumerar a árvore inteira abaixo de um certo ponto e salvar os resultados em um arquivo, então você pode procurar um valor (por exemplo, o endereço IP de um servidor DNS) e encontrar os OIDs associado a ele.

Eu então saberia quais OIDs colocar no meu arquivo de configuração do MRTG.

Diferentes fabricantes colocam informações em lugares diferentes. Se você não tem suas definições MIB, então este foi o melhor método que eu poderia encontrar para OIDs de engenharia reversa.

    
por 13.10.2010 / 00:27
0

Se o windows então

Crie seu próprio programa no Visual Basic, eu não iria para o SNMP.

    
por 13.10.2010 / 18:58