Script para verificação de máquina na rede! [RESOLVIDO]

1. Script para verificação de máquina na rede! [RESOLVIDO]

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 01/06/2009 - 16:39h

Gostaria de dicas de como criar um script para que teste uma maquina na rede, este script deve mostrar o hostname, o IP e fazer o teste se esse hostname está registrado corretamnete no DNS. Espero que possam me ajudar.


  


2. Ajudando...

Daniel Fernandes
volcom

(usa Debian)

Enviado em 01/06/2009 - 16:45h

Esses comandos podem te ajudar:

Pega o endereço ip registrado na placa eth0:

# ifconfig eth0| grep -i inet| cut -d ":" -f 2| cut -b 2-| sed 's/ /\n/g'| head -n 1

Consulta o hostname:

# hostname

Pode usar no seu scriprt.

Poste as dúvidas.


3. Re: Script para verificação de máquina na rede! [RESOLVIDO]

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 01/06/2009 - 16:48h

Ok amigo, mais gostaria de uma dica de como fazer esse script verificar se o hostname é valido na rede.


4. Re: Script para verificação de máquina na rede! [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 01/06/2009 - 16:59h

Amigo,

O importante é resolvermos suas dúvidas, já pesquisou algo sobre como fazer os seus scripts?

Veja:

http://www.vivaolinux.com.br/scripts/categoriaIndex.php?codigo=4

http://aurelio.net/shell/

http://aurelio.net/shell/apostila-introducao-shell.pdf

Acho que seria um bom começo.

Tente montar seu script e ao surgir alguma dúvida pergunte.

Deve ser algo mais ou menos assim:

Crie um arquivo script.sh

Dentro dele:

#!/bin/sh
# Inicio do script
echo 'Endereço IP: ' ifconfig eth0| grep -i inet| cut -d ":" -f 2| cut -b 2-| sed 's/ /\n/g'| head -n 1

echo 'Hostname: ' hostname

#final do script

Salve o arquivo e altere as permissões:

# chmod +x script.sh

Execute o script e veja o resultado:

# ./script.sh

Abraço


5. Re: Script para verificação de máquina na rede! [RESOLVIDO]

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 01/06/2009 - 17:01h

Ok amigo, irei começar a construção do script e irei postando as dúvidas aqui, agradeço a ajuda do colega, obrigado.


6. Re: Script para verificação de máquina na rede! [RESOLVIDO]

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 02/06/2009 - 14:53h

Gostaria que me ajudacem com esse script, ele mostra o ip da maquina, o hostbame, data e hora e também faz um teste se o dns ta funcionando, mais meu problema é esse do dns, coloquei uma variavel "var" para receber o hostname e depois ser verificado pelo comando "host" mais ele não coloca o nome da mauina e sim o da variavel.



#!/bin/bash

echo "Vou buscar os dados do sistema. Posso continuar? [s/n] "
read RESPOSTA
echo
test "$RESPOSTA" = "n" && exit
echo "Data e Horário:"
date
echo

echo "Nome da Máquina:"
hostname
echo

echo "IP da Máquina:"
ifconfig eth0| grep -i inet| cut -d ":" -f 2| cut -b 2-| sed 's/ /\n/g'| head -n 1
echo

echo "Verificando Máquina no DNS!"
var= hostname
host var



exit



7. Variaveis

Daniel Fernandes
volcom

(usa Debian)

Enviado em 02/06/2009 - 15:21h

Para atribuir o resultado de um comando como valor de uma variável é necessário colocar o comando entre craze:

# VAR=`hostname`

Para verificar se deu certo:

# echo $VAR

O mesmo deve usar para a linha de comando que pega o IP:

# IPLOCAL=`todos os comandos...`

# echo $IPLOCAL

Sempre que quiser usar o VALOR de uma variável deve "chama-la" com um sinal de $ antes do nome da variável.

Abraço e vamos em frente...


8. aplicando no seu script

Daniel Fernandes
volcom

(usa Debian)

Enviado em 02/06/2009 - 15:28h

#!/bin/bash

echo "Vou buscar os dados do sistema. Posso continuar? [s/n] "
read RESPOSTA
echo
test "$RESPOSTA" = "n" && exit
echo "Data e Horário:"
date
echo

echo "Nome da Máquina:"
HOST=`hostname`
echo

echo "IP da Máquina:"
IPLOCAL=`ifconfig eth0| grep -i inet| cut -d ":" -f 2| cut -b 2-| sed 's/ /\n/g'| head -n 1`
echo

echo "Verificando Máquina no DNS!"
host $HOST

exit


9. Resolvido, Obrigado pela ajuda.

Ricardo A. Silva
ricardoxk

(usa Ubuntu)

Enviado em 02/06/2009 - 15:48h

Aqui está como ficou o script que eu queria:

#!/bin/bash

echo "Vou buscar os dados do sistema. Posso continuar? [s/n] "
read RESPOSTA
echo
test "$RESPOSTA" = "n" && exit
echo "Data e Horário:"
date
echo
echo "Nome da Máquina:"
hostname
echo
echo "IP da Máquina/Broadcast:"
ifconfig eth0 | grep -w 'inet'| awk ' { print $2 }';
ifconfig eth0 | grep -w 'inet'| awk ' { print $3 }';
ifconfig eth0 | grep -w 'inet'| awk ' { print $4 } ';
echo
echo "Gateway da rede:"
route | grep -w 'default'| awk ' { print echo $2 } ';
echo
echo "servidor de nomes da rede:"
cat /etc/resolv.conf |grep name |awk '{ print $1 $2 } '
echo
echo "Verificando Máquina no DNS!"
HOST=`hostname`
host $HOST

echo
echo "Gostaria de verificar as faixas de IP's que estão em uso? Necessário o NMAP instalado! [s/n]."
read cond
echo
test "$cond" = "n" && exit

#Verifica eth0

VERI_ETH0=`ifconfig |grep eth0|awk '{print $1}'|wc -l`
FAIXA_ETH0=$( dialog --inputbox --stdout 'Coloque a faixa de IP desejada. Ex.: 192.168.0.1-30' 0 0 )

if [ $VERI_ETH0 = "1" ]; then
ETH0=1
IPETH0=`ifconfig eth0|grep inet|awk '{print $2 }'|cut -d ":" -f2` 2> /dev/null
MASK_ETH0=`ifconfig eth0|grep Mask|awk '{print $4}'|cut -d ":" -f 2`
NMAP_ETH0=( ${NMAP_ETH0[@]} `nmap -sP $FAIXA_ETH0|grep Host|awk '{print $2}'|sed s/[\(\)]//g|sort`)
count=1
for item in ${NMAP_ETH0[@]}; do
PING_ETH0=`ping -c 10 $item |grep packets|awk '{print $4}'`
echo "$item - Packets: $PING_ETH0"
count=`expr $count + 1`
done

else
ETH0=0

fi

exit









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts