3

生データを使用してネットワーク経由でパケットを送信する方法を知りたいです。LAN 上のデバイスの物理アドレスを取得できる必要があるため、ARP パケットのブロードキャストまたはマルチキャストを計画しています。

以下は、デバイスの IP を要求する正しく構築された ARP パケットです。

0000  00 1e e5 fb a5 21 00 1a  70 dd e1 f2 08 06 00 01   .....!.. p.......
0010  08 00 06 04 00 01 00 1a  70 dd e1 f2 c0 a8 01 01   ........ p.......
0020  00 00 00 00 00 00 c0 a8  01 90                     ........ ..      

これは 16 進数の生データです。

代わりに ASCII でデータを取得する場合、ソケットを開いて正しいポート番号で情報を送信するのと同じくらい簡単ですか? 実際、これはレベル 3 ではなくレベル 2 であるため、TCP と UDP がないことを意味します (私が思うに?) では、どうすればこれを送信できますか?

4

1 に答える 1

3

ARP はリンク層で実行され、TCP ソケットと UDP は IP で実行されます。PHP は生の IPv4 ソケットをオープンできます。を使用してsocket_create()。ドキュメントページに例があります。

これを行うことができるシェルツールもあり、PHP内から、exec()または関連する関数を使用してそれらを実行できます。

正確なツールと使用法は、質問で言及していないオペレーティング システムによって異なります。

于 2012-08-31T04:22:10.700 に答える