1

I'm working on an embedded linux system in C, I'm looking for the source code to the equivalet of SendARP in Windows. Any pointers?

4

3 に答える 3

3

arpingを見てください。arp を送信する手っ取り早い方法は次のとおりです。


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

しかし、arping のソースを調べると、より良い解決策が得られるはずです。

ただし、完全な解決策として、手動で独自のものを構築し、生のソケットまたはlibpcapを使用して送信することができます。


ところで。あなたがしようとしているのが arp を強制的に送信することだけである場合 (ただし、必ずあなたから)、ホスト用に既に持っている arp エントリを削除することでそれを実現できます。そのアドレスへの次のアクセスでは、arp を送信する必要があります。

例えば。/usr/sbin/arp -d destination_host_ip

于 2008-09-26T02:18:47.443 に答える
0

これは興味深いかもしれません:http ://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/SendArp.in?rev = 1.4

これは、Bourneシェルスクリプトの実装です。

于 2008-09-25T22:06:43.880 に答える
0

ARP専用のものは見たことがありませんが、 libpcapと適切なRFCを使用して、任意の種類のパケットを送信できると思います。

于 2008-09-25T22:09:41.923 に答える