terça-feira, 15 de janeiro de 2013

Resolvendo nomes NetBIOS com Nbtscan


Se você trabalha em uma rede mista, provavelmente já teve dificuldade para acessar uma máquina Windows simplesmente porque não sabia o ip dela, e o Linux não resolve nomes Netbios. Escrevi um artigo no Vol ( http://www.vivaolinux.com.br/artigo/Entendendo-TCP-IP-Parte-3-Resolucao-de-nomes ) que explica isso.

O Nbtscan traduz ip para nomes Netbios. Em sua forma mais simples, digite o comando seguido do ip.

$ nbtscan 172.20.1.1
Doing NBT name scan for addresses from 172.20.1.1

IP address       NetBIOS Name     Server    User             MAC address      
------------------------------------------------------------------------------
172.20.1.1       SRV011                  00:04:23:b1:2c:88
$

É possível escanear uma rede, ou segmento de rede.

$ nbtscan 172.20.1.1/28
Doing NBT name scan for addresses from 172.20.1.1/28

IP address       NetBIOS Name     Server    User             MAC address      
------------------------------------------------------------------------------
172.20.1.6       SRV014                  00:04:23:b0:be:54
172.20.1.1       SRV011                  00:04:23:b1:2c:88
172.20.1.4       SRV029                  00:1f:29:07:39:ea
172.20.1.8       SRVAPL                    00:1c:c4:c1:9c:b4
172.20.1.2       SRV012                  00:04:23:b1:2c:26
172.20.1.5       SRV015                  00:30:48:29:2e:24
$

Há vária opções interessantes. Uma delas fornece os nomes no formato do arquivo /etc/hosts.

$ nbtscan -e 172.20.1.1/28
172.20.1.6 SRV014      
172.20.1.8 SRVAPL         
172.20.1.1 SRV011      
172.20.1.2 SRV012      
172.20.1.5 SRV015      
172.20.1.4 SRV029      
$

E possível também configurar a saída para o formato /etc/lmhosts

$ nbtscan -l 172.20.1.1/28
172.20.1.8 SRVAPL         #PRE
172.20.1.4 SRV029       #PRE
172.20.1.6 SRV014       #PRE
172.20.1.2 SRV012       #PRE
172.20.1.1 SRV011       #PRE
172.20.1.5 SRV015       #PRE
$

As opções são muitas. É possível criar um script que procure as máquina Windows pela rede e configure a saída para um arquivos no formato utilizado pelo Bind. Assim, todas as máquinas Linux/Unix conseguirão acessá-las normalmente. Aliás, atualização dinâmica de dns essa era uma das limitações do Samba. Mas isso já foi resolvido com o Samba 4.

O Nbtscan pode ser instalado com o comando apt-get install nbtscan.