Arduino Forum

International => Français => Le bar => Topic started by: B@tto on Jan 29, 2015, 04:30 pm

Title: Retrouver un device sur son réseau
Post by: B@tto on Jan 29, 2015, 04:30 pm
 Salut à tous,

Supposons que j'ai un montage Arduino avec un module wifi quelconque connecté à mon réseau domestique. Comment retrouver son ip à partir de mon PC ?

Je voudrais coder un soft pour gérer simplement un appareil connecté en wifi. Je sais que c'est possible, j'ai une cam wifi qui est automatiquement détectée par le soft fourni.

J'ai aucune idée de la technique employée ou de à quoi elle pourrait ressembler : requête spécifique émise en broadcast ?

Merci :)
Title: Re: Retrouver un device sur son réseau
Post by: Artouste on Jan 29, 2015, 05:00 pm
Salut à tous,

Supposons que j'ai un montage Arduino avec un module wifi quelconque connecté à mon réseau domestique. Comment retrouver son ip à partir de mon PC ?

Je voudrais coder un soft pour gérer simplement un appareil connecté en wifi. Je sais que c'est possible, j'ai une cam wifi qui est automatiquement détectée par le soft fourni.

J'ai aucune idée de la technique employée ou de à quoi elle pourrait ressembler : requête spécifique émise en broadcast ?

Merci :)
bonjour B@tto
un scan sur la portée DHCP ( ou 0 à 255 si tu adresse en IP fixe ) avec numero de port attribué à ton  appli  ?
si ça "ping" et qu'il n'y a qu'un dispo sur ton reseau c'est que tu l'a trouvé, si plusieurs possibilités, ajouter une phase de determination.
Title: Re: Retrouver un device sur son réseau
Post by: icare on Jan 29, 2015, 05:07 pm
Bonjour,
Peut être une piste, IP fixe ou connaître l'adresse MAC.
@+
Title: Re: Retrouver un device sur son réseau
Post by: fdufnews on Jan 29, 2015, 05:17 pm
Les système qui possèdent un OS implémente généralement le protocole Zeroconf (http://fr.wikipedia.org/wiki/Avahi_%28logiciel%29) mais ce n'est pas à la portée d'un arduino.

Tu pourrais utiliser un n° de port particulier et ainsi sonder les adresses IP sur ton réseau pour voir si le port en question est ouvert.
Title: Re: Retrouver un device sur son réseau
Post by: XavierMiller on Jan 29, 2015, 07:54 pm
Regarde sur le routeur, la liste des interfaces connectées.
Title: Re: Retrouver un device sur son réseau
Post by: B@tto on Jan 29, 2015, 08:30 pm
Je pense avoir trouvé une technique : avec la commande arp on liste les ip et les adresse mac, si je m'attribue un préfixe MAC je pourrait surement retrouver mes montages et du coup leurs ip
Title: Re: Retrouver un device sur son réseau
Post by: Artouste on Jan 29, 2015, 09:14 pm
Je pense avoir trouvé une technique : avec la commande arp on liste les ip et les adresse mac, si je m'attribue un préfixe MAC je pourrait surement retrouver mes montages et du coup leurs ip
Je ne suis pas du tout un specialiste reseau (je me considere meme comme une "buse" :smiley-mr-green:  )
tu crois que sur un poste une commande ARP (avec quels parametres ? ) va lister toutes les IP et MAC actifs sur le reseau ?

Pour faire simple : avec un reseau local sur box XYZ sur laquelle sont connecté N equipements (chacun avec son IP et sa MAC) , je peux retrouver par ARP sur un PC  (connecté au reseau local) tous les équipements qui passent par la box (filaire ou wifi) ? 

La table ARP elle est locale à ton pc  , non ?
Title: Re: Retrouver un device sur son réseau
Post by: B@tto on Jan 29, 2015, 09:40 pm
La table ARP normalement c'est celle du switch puisque c'est lui qui fait les correspondances MAC. Après je suis pas hyper calé non plus donc je peux dire des conneries ... Mais j'ai testé en ligne de commande je retrouve bien tout ce qui est connecté au réseau (et plus encore). Reste plus qu'à passer de la ligne de commande au code :D mais j'ai déjà trouver quelques routines qui fonctionne d'abord par un ping de toutes les ip du domaine, puis à lancer des requêtes ARP sur chacune des IP qui a répondu pour récupérer l'adresse MAC, comparer au préfixe recherché et si ça correspond j'ai l'IP pour tenter d'ouvrir un socket :)
Title: Re: Retrouver un device sur son réseau
Post by: tahitibob35 on Jan 29, 2015, 09:55 pm
apparement
nmap -sP 192.168.0.*
permet de découvrir les machines du réseau local.
Title: Re: Retrouver un device sur son réseau
Post by: Artouste on Jan 29, 2015, 10:02 pm
apparement
arp -a
permet de découvrir les machines du réseau local.

Edit:
En fait peut être pas....
Répondu trop vite...
:smiley-mr-green:
c'est aussi par là que j'ai commencé :smiley-cool:
et si j'active des nouveaux equipements , en restant sur un meme et seul PC,   je ne lis rien de plus avec ARP sur celui ci tant que je n'ai pas préalablement fait d'accès "entre les 2 équipements"
Title: Re: Retrouver un device sur son réseau
Post by: tahitibob35 on Jan 29, 2015, 10:16 pm
j avais changé mon commentaire:
apparement
Code: [Select]
nmap -sP 192.168.0.*
permet de découvrir les machines du réseau local.

d'après ce que j'ai pu lire, on pourrait faire un ping en broadcast :
ping -b  192.168.0.255

Mais, c'est quasiment toujours désactivé sur un système linux :
Code: [Select]
david@nc10:~$ cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
1


Ca ne l'est peut-être pas dans la pile IP du shield....
Sinon reste la solution du nmap.
Title: Re: Retrouver un device sur son réseau
Post by: Artouste on Jan 29, 2015, 10:30 pm
j avais changé mon commentaire:
apparement
Code: [Select]
nmap -sP 192.168.0.*
permet de découvrir les machines du réseau local.

d'après ce que j'ai pu lire, on pourrait faire un ping en broadcast :
ping -b  192.168.0.255

Mais, c'est quasiment toujours désactivé sur un système linux :
Code: [Select]
david@nc10:~$ cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
1


Ca ne l'est peut-être pas dans la pile IP du shield....
Sinon reste la solution du nmap.
8)
ni ping -b (adresse ip)

ni nmap
ne semblent  etres des commandes natives reconnues en lignes de commandes sous windows

nmap est un scanner externe

je pense que B@tto veut intégrer sa recherche dans son soft

Title: Re: Retrouver un device sur son réseau
Post by: B@tto on Jan 29, 2015, 10:37 pm
et si j'active des nouveaux equipements , en restant sur un meme et seul PC,   je ne lis rien de plus avec ARP sur celui ci tant que je n'ai pas préalablement fait d'accès "entre les 2 équipements"

Tu as raison je viens de tester avec mon mT7681, dès que je l'ai ping il est apparu sur arp. Donc c'est bien la procédure que j'avais lu : faut boucler pour ping toutes les ip du domaine, puis un arp pour récupérer la mac
Title: Re: Retrouver un device sur son réseau
Post by: tahitibob35 on Jan 29, 2015, 10:45 pm
Chez moi, le ping -b fonctionne, après avoir désactivé l'option :
Code: [Select]
david@nc10:~$ ping -b  192.168.0.255
WARNING: pinging broadcast address
PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=64 time=1.89 ms
64 bytes from 192.168.0.5: icmp_seq=1 ttl=64 time=2.11 ms (DUP!)
64 bytes from 192.168.0.10: icmp_seq=2 ttl=64 time=1.28 ms
64 bytes from 192.168.0.5: icmp_seq=2 ttl=64 time=1.39 ms (DUP!)


je vois bien mes 2 machines en .5 et .10

et nmap est bien un outil linux, et il parcourt bêtement les adresses ip
Title: Re: Retrouver un device sur son réseau
Post by: tahitibob35 on Jan 29, 2015, 11:10 pm
Par curiosité, j'aimerai bien savoir sir
ping -b  192.168.0.255
fonctionne...
remplacer par l'adresse de broadcast qui va bien, bien sûr....
Title: Re: Retrouver un device sur son réseau
Post by: Artouste on Jan 30, 2015, 12:11 pm
Par curiosité, j'aimerai bien savoir sir
ping -b  192.168.0.255
fonctionne...
remplacer par l'adresse de broadcast qui va bien, bien sûr....
bonjour
sous W7 l'option -b n'est pas reconnue
(http://www.cjoint.com/15jv/EAEms1PL26D_pingb1.jpg)
Title: Re: Retrouver un device sur son réseau
Post by: tahitibob35 on Jan 30, 2015, 12:15 pm
Ce que je voulais dire, c'est que je suis curieux de savoir si l'arduino ou le shield répondent au ping broadcast.
Bien sûr, depuis Linux, puisque -b ne fonctionne pas sous Windows.
Title: Re: Retrouver un device sur son réseau
Post by: B@tto on Jan 30, 2015, 01:04 pm
Sous windows c'est en fait possible, voici la commande :

FOR /L %i in (1,1,255) do @ping -n 1 -w 1 192.168.0.%i | find "Réponse"

C'est un peu long par contre ...