Question

Je travaille sur un système Linux embarqué en C, je cherche le code source équivalent à l'équivalent de SendARP sous Windows. Des pointeurs?

Était-ce utile?

La solution

Consultez arping . La façon rapide et sale d’envoyer un arp serait de faire:


foo = system("/somepath/arping somehost");

Mais un coup d’œil dans la source d’arping devrait vous donner une meilleure solution.

Cependant, pour la solution complète, vous pouvez créer votre propre fichier et utiliser un socket brut ou libpcap pour l'envoyer.

btw. Si tout ce que vous essayez de faire est de forcer l'envoi d'un fichier arp (mais nécessairement de votre part), vous pouvez y parvenir en supprimant toute entrée arp que vous avez déjà pour votre hôte. Le prochain accès à cette adresse nécessitera l’envoi d’un arp.

par exemple. / usr / sbin / arp -d destination_host_ip

Autres conseils

Cela pourrait vous intéresser: http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/SendArp.in?rev=1.4

C’est une implémentation dans un script Bourne Shell.

Je n'ai jamais rien vu de particulier pour ARP, mais je pense que vous pouvez envoyer n'importe quel type de paquet à l'aide de libpcap et les RFC appropriées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top