CプログラムからARPパケットを送信するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/136444

  •  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。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top