CプログラムからARPパケットを送信するにはどうすればよいですか?
-
02-07-2019 - |
質問
Cの組み込みLinuxシステムで作業しています。WindowsのSendARPと同等のソースコードを探しています。ポインターはありますか?
解決
arping をご覧ください。 arpを送信する手っ取り早い方法は、次のとおりです。
foo = system("/somepath/arping somehost");
ただし、arpingソースを確認すると、より良いソリューションが得られるはずです。
ただし、全面的なソリューションの場合は、手動で独自に構築し、生のソケットまたは libpcap で送信します。
ところで。あなたがやろうとしているのがarpを強制的に送信するだけである場合(ただし、必ずあなたから)、ホスト用にすでに持っているarpエントリを削除することでそれを達成できます。そのアドレスに次にアクセスするには、arpを送信する必要があります。
eg。 / usr / sbin / arp -d destination_host_ip
他のヒント
これは興味深いかもしれません: http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/SendArp.in?rev=1.4
Bourne Shellスクリプトの実装です。
ARPに特化したものを見たことはありませんが、 libpcap および適切なRFC。
所属していません StackOverflow