Arquivo de fevereiro \25\+00:00 2013

Mapeando redes MS Windows com GNU/Linux

Como na postagem anterior eu mostrei um script simples para você obter o MAC Address de uma maquina MS Windows usando o NetBios, agora resolvi publicar o script que usa o mesmo recurso para mapear um rede de maquinas MS Windows, inclusive eu uso muito ele aqui na empresa para saber se alguém está usando rede sem permissão com notebook pessoais, de qualquer forma o script é uma mão na roda quando se tem que administrar redes MS Windows com mais de cinquenta computadores.

No caso executando o script estabelecendo um intervalo de IP’s para ele verificar e depois de um bom tempo ele traz o resultado em forma de tabela que pode ser manipulada com awk para uma utilização secundária.

$ ./lista_rede 192.168.0.101 192.168.0.199

No caso eu usei a biblioteca ‘dialog’ e novamente usei o ‘nmblookup’ do conjunto de ferramentas do samba, isso pode ser instalado facilmente no ubuntu usando:

# aptitude install dialog samba-tools

Depois de executando e finalizado o bash script ele cria um arquivo chamado lista_rede.txt para ser usado em um procedimento futuro.

#!/bin/bash

# cria o cabeçalho
echo "IP - Maquina - Dominio - MAC" > lista_rede.txt

# formata
MIN=$(echo $1 | awk -F. '{print $4}')
MAX=$(echo $2 | awk -F. '{print $4}')
MASK="$(echo $1 |awk -F. '{print $1}').$(echo $1 |awk -F. '{print $2}').$(echo $1 |awk -F. '{print $3}')"

# varre a rede
for i in $(seq $MIN $MAX);
do
	dialog --infobox "Verificando o IP $MASK.$i..." 3 50
	nmblookup -A $MASK.$i > ip$i.txt

	# verifica
	if [ $(cat ip$i.txt | wc -l) -gt 3 ]
	then
		HOST=$(/usr/bin/sed -n '2p' ip$i.txt|/usr/bin/awk '{print $1}')
		DOM=$(/usr/bin/sed -n '3p' ip$i.txt|/usr/bin/awk '{print $1}')
		MAC=$(/usr/bin/cat ip$i.txt|/usr/bin/grep MAC|/usr/bin/awk '{print $4}')

		# imprime o resultado
		echo "$MASK.$i - $HOST - $DOM - $MAC" >> lista_rede.txt

		# deleta
		/usr/bin/rm ip$i.txt
	else
		# deleta caso nao seja encontrado
		/usr/bin/rm ip$i.txt
	fi
done

# termina
clear

# exibe
dialog --title 'Resultado' --textbox 'lista_rede.txt' 15 65

,

1 comentário

Redes MS Windows com o nmblookup

Que técnico já não precisou obter informações de um determinado IP de um rede e acabou sendo obrigado a ir até os computadores e verificar nome da maquina e MAC, isso é um saco, principalmente aqui na empresa onde eu trabalho que é divida em três pequenos prédios separados por uma distância de 20 a 30 metrôs, mas para evitar isso resolvi mapear toda a rede usando IP fixo para facilitar o acesso remoto, mas teria o problema de ir em cada computador para verificar a MAC para mapeá-la no DHCP então consultei o grande oráculo (Google) e descobri o nmblookup que é uma das ferramentas usadas pelo Samba para consultar os nomes da NetBios e mapeá-los para IP.

$ nmblookup -A 192.168.0.109
Looking up status of 192.168.0.109
ALINE-PC <00> – B <ACTIVE>
DOMINOEMPRESA <00> – <GROUP> B <ACTIVE>
ALINE-PC <20> – B <ACTIVE>
DOMINOEMPRESA <1e> – <GROUP> B <ACTIVE>
MAC Address = 10-78-D2-19-20-45

O comando já era uma mão na roda para preguiçosos iguais a mim, mais como a preguiça só gera preguiça, resolvi cria um bash script que retorna-se somente a MAC que no final das contas era só isso que eu precisa.

#!/bin/bash

# Retorna a MAC de um IP

# Verifica o IP
MAC=$(nmblookup -A $1 | grep MAC | awk '{print tolower($4)}')
M1=$(echo $MAC | awk -F'-' '{print $1}')
M2=$(echo $MAC | awk -F'-' '{print $2}')
M3=$(echo $MAC | awk -F'-' '{print $3}')
M4=$(echo $MAC | awk -F'-' '{print $4}')
M5=$(echo $MAC | awk -F'-' '{print $5}')
M6=$(echo $MAC | awk -F'-' '{print $6}')

# Retorna a MAC
echo "$M1:$M2:$M3:$M4:$M5:$M6"

,

Deixe um comentário

Problemas de acentuação no Fedora 18

O Fedora 18 está fantástico na minha humilde opinião, mas como sistema está sujeito a pequenos problemas, no meu caso foi a acentuação, mas pelo menos não precisei resolver como no Kubuntu, somente tive que mudar a configuração do teclado do sistema onde quando configurado para “Portuguese (Brazil)” não funciona corretamente a acentuação, mas se adicionarmos “Portuguese (Brazil, nativo for USA keyboards)” e colocar ele como prioridade está resolvido esse problema inconveniente.

Configuração de Teclado

Configuração de Teclado

1 comentário