5 votos

Bash - ¿Cómo puedo verificar si existe un equipo en mi red sin IP (es decir por el nombre del dispositivo solamente)?

Me gustaría que mi teléfono para ejecutar ciertas secuencias de comandos de shell a través de Tasker si mi teléfono está en la misma red wifi como mi portátil. Mi idea inicial es la de editar el /etc/hosts archivo, pero esto no iba a funcionar, ya que ni el dispositivo está restringido a ser sólo una red wifi.

Una mucho más costoso idea sería simplemente ping a todas las direcciones posibles en la red de mi teléfono, a continuación, intente enviar un comando a través de ssh (por ejemplo, echo $ANDROID) y escuchar la respuesta.

La mejor manera de hacer esto es ser capaz de ver si un dispositivo llamado "myLaptop" existe en la red.. (o, en realidad, podría utilizar la dirección MAC también.) pero no tengo idea de si esto es posible en bash. Es?

(También estoy abierto a las implementaciones en Perl, desde que tengo uso de SL4A para implementar scripts de Perl.)

3voto

Neal Puntos 316

Servicio de DNS dinámico. Obtener su computadora portátil para actualizar su dinámica de dominio con la ip local y, a continuación, cada vez que su teléfono se conecta a una nueva red wifi, resolver ese dominio, si usted recibe un golpe, se es bueno o se pasó a buscar a alguien con la misma ip local!

Similar a la que, usted podría conseguir a tu portátil para publicar la ip a un servidor en algún lugar (web, correo electrónico, w/e) que se puede recuperar a partir de una secuencia de comandos en el teléfono.

Corto de la configuración de un servidor DNS, no estoy seguro de que no hay ningún medio para resolver los nombres de host que no se nombran en su local de configuraciones.

2voto

Lie Ryan Puntos 15629

Si no desea una solución basada en servidor, pudo escuchar su laptop a la red para un determinado paquete de difusión. Un paquete de difusión será redirigirse a todos los dispositivos en la misma red, pero los dispositivos que no están escuchando deben ignorarlo.

2voto

brennie Puntos 121

Usted puede utilizar avahi (wiki) (o una pieza similar de Zeroconf software) para descubrir los ordenadores de la red y la publicación de la lista de su teléfono para la recuperación.

Ver existen otras bibliotecas de Java para bonjour/zeroconf aparte de JMDNS? para Java Zeroconf implementaciones.

1voto

Johan Soderberg Puntos 976

Hay una aplicación que se llama el Descubrimiento de la Red (disponible en F-Droid, también puede ser en el Android Market) que los intentos para identificar los dispositivos en la red su teléfono está conectado.

Como es Software Libre, puede probar a ver si se puede modificar o utilizar partes de ella para sus fines.

No es un "aquí está un APK" la respuesta, pero si usted tiene que escribir algo, es un buen comienzo.

Edit: App está aquí: http://f-droid.org/repository/browse/?fdfilter=network%20discovery&fdid=info.lamatricexiste.network&fdpage=1

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X