Détecter une Flyport sur un réseau IP

Posted by Antoine 7 novembre 2014 0 Comment 1630 views

La Flyport dispose d’une fonction qui permet de la détecter facilement sur un réseau IP. Cette fonction s’appelle l’Announce Service et fonctionne sur la base d’une requête UDP.

Nous allons ici tester le fonctionnement avec une Flyport Ethernet mais cela fonctionnera également avec une Flyport Wifi.

Au démarrage, la Flyport envoie une requête UDP en broadcast (ip source = 255.255.255.255) sur le port 2860. Les données transmissent dans cette requête contienne le nom de l’hote (« DOMOPORTETH », configurable dans le Wizzard de l’IDE) et l’adresse MAC. L’adresse IP et l’adresse MAC sont également intégré au packet UDP.

Voici un exemple d’utilisation du logiciel TCPIPBuilder pour récupérer ce message UDP :

annouceBootTCPIPBuilder

Voici le même packet intercepté par le logiciel Wireshark:

announceWiresharkDans ce paquet on retrouve donc le nom de l’hôte et l’adresse MAC qui sont transmis en tant que Data. On retrouvera l’adresse IP dans l’encapsulation des infos IP.

 

Si vous loupez ce paquet, il est possible d’envoyer une requête UDP à la Flyport pour que celle-ci envoie à nouveau ces informations. Pour cela il faut envoyer la lettre “D” en broadcast UDP (ip de destination = 255.255.255.255) sur le port 30303. Voici ce que ça donne avec le logiciel TCPIPBuilder:

announceRequestTCPIPBuilderEt sur Wireshark:

announceWiresharkRequest

 

pour que cette fonction soit activée il faut aller dans le Wizzard de l’IDE openpicus et cocher la case “Annouce service” sur la première page. Dans le code, il faut que la constante STACK_USE_ANNOUNCE soit définie. Ensuite c’est la fonction AnnounceIP() qui est appelé. Si au démarrage votre Flyport n’est pas connecté, la fonction AnnounceIP() ne fera rien, dans le cas d’une Flyport Ethernet il faut donc attendre que la connexion soit établi, ce qui se fait de la façon suivante (dans TaskFlyport.c):

 
while (!MACLinked);
#if defined(STACK_USE_ANNOUNCE) 
 AnnounceIP();
#endif

Voilà vous savez tout. Dans le prochaine article on verra comment configurer les paramètres réseau d’une Flyport Ethernet depuis le Webserver embarqué.

About Antoine

Ingénieur en informatique embarquée. Geek enthousiaste et early-adopter de la Flyport.

View all post by Antoine

Write Your Comment

 

Abonnez-vous et suivez notre actualité !