Pular para o conteúdo

Dúvida em Bash [snmpget] - laço para descrições de placa de rede! [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Dúvida em Bash [snmpget] - laço para descrições de placa de rede! [RESOLVIDO]

Enviado em 13/11/2015 - 14:27h

Gostaria de saber se tem como buscar todas as interfaces de rede de um micro utilizando laços com o script abaixo:


#!/bin/bash

c=1
while [ $c -le 5 ] ; do
echo $(snmpget -v2c -Ov -Oq localhost -c public ifDescr.$c)
let c=c+1
done
Executando dessa maneira ele me retorna o nome das interfaces, porem dessa maneira:


lo
enp0s3
No Such Instance currently exists at this OID
No Such Instance currently exists at this OID
No Such Instance currently exists at this OID
teria alguma forma de tratar a saida para que mostrasse só as placas existentes? porem que o script continuasse a verificar se existem mais placas conectadas?

Responder tópico

2. Re: Dúvida em Bash [snmpget] - laço para descrições de placa de rede! [RESOLVIDO]

Melhor resposta

Enviado em 13/11/2015 - 16:14h

A variável ifNumber.0 armazena a quantidade de interfaces de rede do sistema. Assim, basta utilizá-la como limite superior do seu loop.

3. Re: Dúvida em Bash [snmpget] - laço para descrições de placa de rede! [RESOLVIDO]

Enviado em 13/11/2015 - 16:32h

fpires escreveu:

A variável ifNumber.0 armazena a quantidade de interfaces de rede do sistema. Assim, basta utilizá-la como limite superior do seu loop.
fpires, Obrigado!

não sabia que havia uma MIB com a quantidade de interfaces!

o Script então ficou assim:


#!/bin/bash

#variaveis
c=1
nint=$(snmpget -v2c -Ov -Oq localhost -c public ifNumber.0)

#loop para descoberta de interfaces

while [ $c -le $nint ] ; do
echo $(snmpget -v2c -Ov -Oq localhost -c public ifDescr.$c)
let c=c+1
done

E o retorno assim:


lo
enp0s3
Novamente Obrigado!!


4. Re: Dúvida em Bash [snmpget] - laço para descrições de placa de rede! [RESOLVIDO]

Enviado em 13/11/2015 - 21:47h

Que eu saiba, toda tabela no SNMP tem um valor (normalmente no começo da própria tabela) para informar quantos campos a tabela tem, permitindo que você faça a quantidade de iterações correta/necessária.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder