Frage

Ich bin auf einem Embedded-Linux-System in C arbeiten, ich bin auf der Suche nach dem Quellcode der equivalet von SendARP in Windows. Alle Zeiger?

War es hilfreich?

Lösung

Hier finden Sie aktuelle arping . Die schnelle und schmutzige Art und Weise eine arp des Sendens zu tun wäre:


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

Aber ein Blick durch die arping Quelle sollten Sie geben eine bessere Lösung können.

Für die all-out-Lösung aber, können Sie Ihre eigene von Hand erstellen und verwenden entweder einen Raw-Socket oder libpcap um sie zu senden.


btw. Wenn alle Sie versuchen zu tun zu zwingen, ist ein arp gesendet werden (aber unbedingt von Ihnen) können Sie erreichen, dass durch die arp Eintrag zu löschen, die Sie bereits für Ihren Host haben. Der nächste Zugriff auf diese Adresse wird eine arp erfordert gesendet werden.

zB. / Usr / sbin / arp -d destination_host_ip

Andere Tipps

Dies kann interessant sein: http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/SendArp.in?rev=1.4

Es ist ein implmenetation in einem Bourne-Shell-Skript.

Ich habe noch nie etwas speziell für ARP gesehen, aber ich denke, Sie jede Art von Paket senden können Sie mit wollen

scroll top