OpenWrt: Encontre vizinhos sabendo seu endereço MAC

3

Eu tenho um ponto de acesso de malha aberta conectado ao mesmo roteador ( um Aerohive BR100 ) que uma câmera Axis. Eu gostaria de automatizar a descoberta do IP da câmera de dentro do sensor Open Mesh, sabendo o endereço MAC da câmera.

Esta arte ruim do Ascii mostra como as coisas estão cabeadas:

+================= Aerohive router ================+
|    ____    ____    ____    ____          ____    |
|    [..]    [..]    [..]    [..]          [..]    |
|_____||______||______________||____________||_____+
      ||      ||              ||            ||
     Axis   OpenMesh     borrajax-pc        DSL
    camera  access pt.   (my laptop)     connection

O roteador no qual a câmera e os dispositivos OpenMesh estão conectados atribui endereços IP na forma: 10.200.255.XXX/24

Se eu desconectar meu laptop (borrajax-pc) do roteador Aerohive e conectá-lo à rede WiFi fornecida pelo sensor Open Mesh, meu IP se tornará 10.223.176.150 (ok, já que é um IP fornecido pelo Abra o sensor de malha, e esse é o meu roteador / gateway ... meu chefe , afinal de contas). De qualquer forma ... neste momento, eu posso ssh para o sensor em si (como eu disse é o meu gateway):

borrajax@borrajax-pc:~$ ssh [email protected]
[email protected]'s password: 


BusyBox v1.19.4 (2013-01-08 11:35:01 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                          ________             __
 |       |.-----.-----.-----.  _  |        |.-----.----|  |__
 |   -   ||  _  |  -__|     | |_| |  |  |  ||  -__|__--|     |
 |_______||   __|_____|__|__|     |__|__|__||_____|____|__|__|
          |__|  http://www.open-mesh.com ---------------------
 (c) Open-Mesh, Inc. All rights reserved.
 firmware-ng: fw-ng-r443
 Powered by these open source projects:

 http://www.openwrt.org    http://kokoro.ucsd.edu/nodogsplash
 http://coova.org          http://www.open-mesh.org
 -------------------------------------------------------------
root@BorrajaX_Test_Sensor:~# 

Mas quando estou dentro do sensor, nenhuma de suas interfaces tem um endereço como o que o roteador Aerohive externo está fornecendo (10.200.255.XXX/24), então não consigo ver meus vizinhos em um salto ( ou pular).

Caso seja útil, aqui está uma lista de interfaces com seu endereço IP atribuído:

root@BorrajaX_Test_Sensor:~# ifconfig
bat0     
bat0.0  
bat0.1  
bat0.2     inet addr:5.17.32.120  Bcast:5.255.255.255  Mask:255.0.0.0
bat0.3
br-lan1
br-lan2    inet addr:192.168.83.2  Bcast:192.168.83.255  Mask:255.255.255.0
br-meship  inet addr:10.223.168.1  Bcast:10.223.171.255  Mask:255.255.252.0
br-priv    inet addr:10.223.172.1  Bcast:10.223.175.255  Mask:255.255.252.0
br-pub     inet addr:10.223.176.1  Bcast:10.223.179.255  Mask:255.255.252.0
eth0 
eth1 
lo         inet addr:127.0.0.1  Mask:255.0.0.0
mesh0 
mon0     
pub0

Como você pode ver, nenhum dos IPs são parecidos com aqueles fornecidos pelo meu roteador ( 10.200.255.XXX )

Agora, se eu encontrar o IP da câmera através de outras formas, e eu descobrir que o IP é, por exemplo, 10.200.255.204 isso é o que acontece dentro do sensor.

root@BorrajaX_Test_Sensor:~# traceroute 10.200.255.204
traceroute to 10.200.255.204 (10.200.255.204), 30 hops max, 38 byte packets
 1  192.168.83.1 (192.168.83.1)  2.265 ms  0.608 ms  1.378 ms
 2  10.200.255.204 (10.200.255.204)  3.227 ms  1.265 ms  1.092 ms

Assim, ele passa pela interface br-lan2 e "vê" corretamente. Eu posso até mesmo fazer ping.

root@BorrajaX_Test_Sensor:~# ping 10.200.255.204
PING 10.200.255.204 (10.200.255.204): 56 data bytes
64 bytes from 10.200.255.204: seq=0 ttl=63 time=2.788 ms

Mas a tabela ARP não registra o MAC de mapeamento < - > 10.200.255.204 (Eu estou supondo porque está pulando uma vez através de 192.168.83.1)

Existe alguma forma de arping um "vizinho" quando o vizinho está conectado ao mesmo roteador que o próprio dispositivo Open-Mesh? Além disso, como mencionei, o IP que o roteador Aerohive atribui ao dispositivo Open-Mesh parece ficar escondido de alguma forma dentro do dispositivo Open-Mesh. Existe alguma maneira de superar esse "ocultismo"?

PS: Se eu fizer a coisa toda no meu laptop, tudo funciona bem:

1º: verifique se o meu IP pertence ao intervalo atribuído pelo meu roteador (10.200.255.XXX)

borrajax@borrajax-pc:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 5c:f9:dd:52:10:78  
          inet addr:10.200.255.205  Bcast:10.200.255.255  Mask:255.255.255.192    
          [ . . . ]

2º: verifique a tabela arp:

borrajax@borrajax-pc:~$ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
10.200.255.193           ether   e0:1c:41:30:ea:40   C                     eth0

Nenhuma câmera !!

3ª: fating para toda a sub-rede 10.200.255.XXX:

fping -g 10.200.255.1/24
10.200.255.193 is alive
10.200.255.204 is alive
10.200.255.205 is alive
ICMP Host Unreachable from 10.200.255.205 for ICMP Echo sent to 10.200.255.194
ICMP Host Unreachable from 10.200.255.205 for ICMP Echo sent to 10.200.255.19
[ . . . ]

4rd: Verifique a tabela arp novamente:

borrajax@borrajax-pc:~$ arp -n | grep -v "incomplete"
Address                  HWtype  HWaddress           Flags Mask            Iface
10.200.255.204           ether   00:40:8c:e3:df:aa   C                     eth0
10.200.255.193           ether   e0:1c:41:30:ea:40   C                     eth0

Tadaaaa !! 10.200.255.204 éter 00: 40: 8c: e3: df: aa é a câmera

    
por BorrajaX 20.09.2013 / 21:37

0 respostas