Pular para o conteúdo

Pegar dados do dhcpd.conf [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Pegar dados do dhcpd.conf [RESOLVIDO]

Enviado em 22/10/2014 - 14:34h

Quero pegar o nome e mac address de um dispositivo no dhcpd.conf, fornecendo um IP para pesquisa.

Ideia pensada:
Digita o IP, busca ele no dhcpd.conf, sobe 1 linha pega o MAC e duas linhas e printa NOMEPC.

Tentei isso:
-----------------------------------------------------------------------------------
#!/bin/bash
echo "Digite o ip"
read ip


nome= $(cat /etc/dhcp/dhcpd.conf | grep $ip | awk '{ print $2 }') // Esse seria 2 linhas acima
$mac= $(cat /etc/dhcp/dhcpd.conf | grep $ip | awk '{ print $3 }') // Esse seria 1 linha acima

echo "Para o ip $ip : MAC = $mac Nome = $nome "
-----------------------------------------------------------------------------------
Este script atuaria no dhcpd.conf que contem linhas conforme abaixo:

host NOMEPC {
hardware ethernet 00:00:00:00:00:00;
fixed-address 10.0.0.1;
}

-----------------------------------------------------------------------------------
O que não consegui fazer é subir duas linhas depois de encontrado o IP. Desde já
agradeço.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Pegar dados do dhcpd.conf [RESOLVIDO]

Melhor resposta

Enviado em 22/10/2014 - 15:23h

Opa, dei uma modificada no script.
Não sei se é a melhor forma de se fazer, mas funciona hehe
no grep, coloquei para ele pegar também as linhas anteriores (parâmetro -B), depois usei o head para pegar somente a primeira linha dessas do grep.
Meio gambi, mas funciona :P
Pelo teste que fiz aqui deu tudo certo, confere ai.
Abraço



#!/bin/bash
echo "Digite o ip"
read ip

NOME=`cat /etc/dhcp/dhcpd.conf | grep $ip -B 2 | head -n 1 | awk '{ print $2 }'`
MAC=`cat /etc/dhcp/dhcpd.conf | grep $ip -B 1 | head -n 1 | awk '{ print $3 }'`

echo "Para o ip $ip : MAC = $MAC Nome = $NOME "

3. Re: Pegar dados do dhcpd.conf [RESOLVIDO]

Enviado em 22/10/2014 - 19:47h

Conseguiu ai cara?

4. PERFEITO

Enviado em 22/10/2014 - 22:31h

Demorei a responder por não estar em um computador. Mas a sugestão é perfeita, atende muito bem o que queria fazer. Eu fiz um script para controle de banda com shaper. E uma opção é de listar o IP com os seus dados. Como se deve cadastrar um IP a cada controle, eu queria obter os demais detalhes do IP a partir dos dados cadastrados no dhcp.
Agora vou adaptar ao script...Segue parte dele pra visualização, depois posto ele completo.
-------------------------------------------

#---------------------------LISTAR DE ARQUIVOS---------------------------------

listar()
{
if [ -e $dir_controle/cbq-0010-XXX.XXX.XXX.XXX-down ]; then
rm -rf $dir_controle/cbq-0010-XXX.XXX.XXX.XXX-down # Apaga o default
fi

clear
echo "LISTA DE USUARIOS COM CONTROLE DE BANDA ATIVADO"
echo "-----------------------------------------------"
ls $dir_controle/*down >> tmp

while read tmp;
do
ip=`echo $tmp | awk -F "-" '{ print $3 }'`
banda=`cat $tmp | grep WEI | awk -F "=" '{ print $2 }'`
printf "IP-> $ip\tBANDA -> $banda \n"

done < tmp

rm -rf tmp
echo "-----------------------------------------------"
echo "PRESSIONE ENTER PARA RETORNAR AO MENU"
read
menu
}

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder