você está aqui: Home  → Arquivo de Mensagens

ssh acessando via MAC address

Colaboração: Sérgio Luiz Araújo Silva

Data de Publicação: 10 de junho de 2010

MAC ADDRESS ou (Media Access Control), como todos sabem é uma identificação única da sua placa de rede. O comando ifconfig retorna este endereço. Veja um exemplo de saida:

  eth0 Link encap:Ethernet HWaddr 00:0F:EA:B2:53:85
  inet addr:192.168.2.5 Bcast:192.168.2.255 Mask:255.255.255.0
  inet6 addr: fe80::20f:eaff:feb2:5385/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  RX packets:471 errors:0 dropped:0 overruns:0 frame:0
  TX packets:695 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:160637 (156.8 KiB) TX bytes:86193 (84.1 KiB)
  Interrupt:185 Base address:0×6000

Observe na 1ª linha o último campo, após HWaddr, isso mesmo: 00:0F:EA:B2:53:85. Este valor é o endereço físico de sua placa de rede.

Se sua rede trabalha com endereçamento automático, no qual os endereços mudam constantemente é impossível saber qual o endereço foi atribuido àquele computador que você costuma acessar.

A solução...

Anote o MAC do computador que você costuma acessar

Instale o programa arp-scan

  sudo aptitude install -y arp-scan

Faça login como root

Vamos a um exemplo da saida do arp-scan

  arp-scan --interface=eth0 --localnet
  Interface: eth0, datalink type: EN10MB (Ethernet)
  Starting arp-scan 1.5.2 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
  192.168.1.1     00:c0:9f:09:b8:db       QUANTA COMPUTER, INC.
  192.168.1.4     00:02:b3:bb:5c:09       Intel Corporation
  192.168.1.3     00:02:b3:bb:66:98       Intel Corporation
  192.168.1.5     00:02:a5:90:c3:e6       Compaq Computer Corporation
  192.168.1.6     00:c0:9f:0b:91:d1       QUANTA COMPUTER, INC.

Na minha rede doméstica faço:

  arp-scan 10.1.1.1/24

O comando acima lista os outros hosts (computadores) ativos mostrando o ip atual o endereço MAC e a marca da placa de rede.

Construindo o comando

No caso do ssh se o ip mudou ele vai dar erro na conferência da chave de autenticação, portanto sempre apague a pasta .ssh ou caso o ssh reclame você já sabe que terá que apagar a pasta ~/.ssh com o comando rm -rf ~/.ssh

Vamos ao comando

  ssh usuario@`arp-scan 10.1.1.0/24 | awk '/00:1b:11:dc:a9:65/ {print $1}'`

Considere 00:1b:11:dc:a9:65 como o MAC do computador que você está buscando na rede.

Observe que o ssh recebe uma filtragem da saida do arp-scan feita pelo awk. No caso o awk está buscando /00:1b:11:dc:a9:65/ e exibindo a coluna 1. Se usarmos aspas duplas quem enxergará o cifrão será o bash e não o awk. Para o awk o cifrão representa o número dos campos. Então estamos dizendo ao awk o seguinte:

Querido awk, procure pela linha que contém /00:1b:11:dc:a9:65/ neste redirecionamento '|' que está recebendo do arp-scan e imprima a coluna 1. Tudo isto está ocorrendo para fornecer o campo IP do comando

  ssh usuario@IP


 

 

Veja a relação completa dos artigos de Sérgio Luiz Araújo Silva

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script