Pegar dados do dhcpd.conf [RESOLVIDO]

1. Pegar dados do dhcpd.conf [RESOLVIDO]

Denilson Martins
denilsoneskas

(usa Ubuntu)

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.


  


2. MELHOR RESPOSTA

Edimar
dimasdaros

(usa Arch Linux)

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]

Edimar
dimasdaros

(usa Arch Linux)

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

Conseguiu ai cara?


4. PERFEITO

Denilson Martins
denilsoneskas

(usa Ubuntu)

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
}



5. Valeu mesmo, taí o resultado

Denilson Martins
denilsoneskas

(usa Ubuntu)

Enviado em 24/10/2014 - 08:25h

dimasdaros valeu por ter ajudado com o script.

http://www.vivaolinux.com.br/script/Controle-de-banda-individual-com-shaper/

Até mais.


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

Edimar
dimasdaros

(usa Arch Linux)

Enviado em 24/10/2014 - 10:47h

denilsoneskas escreveu:

dimasdaros valeu por ter ajudado com o script.

http://www.vivaolinux.com.br/script/Controle-de-banda-individual-com-shaper/

Até mais.



Opa, estamos ai para o que precisar
Legal você ter compartilhado ai ele, parabéns.

grande agraço
até mais






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts