UDPパケットをネットワークMACアドレスに送信する方法はありますか? DatagramSocketでもDatagramPacketでもこれを行う仕組みがあるようです。AndroidアプリからMACアドレスにUDPパケットを送信するにはどうすればいいですか?
1
A
答えて
1
レイヤードネットワークスタックのため、最初の応答は、MACアドレスにUDPメッセージを送信できないことです。私の声明は、UDPデータグラムフィールドにMACアドレスを設定する手段がないことを意味します。 UDPデータグラムをIPアドレスとポートに送信できます。このIPアドレスは、ユニキャスト、マルチキャスト、またはブロードキャストにすることができます。
特定のMACアドレスにUDPデータグラムを送信する場合は、より複雑なソリューションを実装する必要があります(DHCPはより複雑なソリューションの例です)。
- このNICからデータグラムを受信せずにMACアドレスにデータグラムを送信し、そのMACアドレスを知っている必要がある場合は、最初にレイヤ2を送信する必要がありますフレームをそのMACアドレスに割り当てます(レイヤ2プロトコルではMACアドレスを設定できます)。そのMACアドレスフレームをリッスンするプロトコルを実装し、対応するIPアドレスを返す応答を返すことができます。 RARPは、MACアドレスが与えられたIPを取得するプロトコルです。
- マルチキャストグループを使用するプロトコルを実装できます。お使いのPCから、ターゲットとするMACアドレスを含むマルチキャストメッセージを送信します。そのマルチキャストグループに加入しているすべてのノード(ノード内のアプリケーション)は、そのメッセージを受信します。ターゲットMACアドレスを持つものが応答することができます。応答すると、そのIPアドレスを持ち、ユニキャストUDPデータグラムを送信できます。
+0
説明してくれてありがとう。私はMACアドレスにUDPパケットを送信する生のソケットについて読んだ。私はそれがAndroid用のJavaで行うことは不可能だと思います。 – Hong
1
短い答えはノーです。ネットワークstackは、ハードウェアアドレスがOSのメディアレイヤでアドレス可能であるように設定され、トランスポートレイヤがアプリケーションに公開されている定義済みのインターフェイスのみを使用します。低レベルのOSを利用する必要があります。あなたがJava内でこの呼び出しをしようとしているように見えますが、これを達成することはほとんどできません。
関連する問題
- 1. Linuxの特定のインターフェイスからUDPパケットを送信するにはどうすればよいですか?
- 2. 動的HEX値を持つudpパケットを送信するにはどうすればいいですか
- 3. AutoItでパケットを送信するにはどうすればいいですか?
- 4. マルチホームマシン上でJavaでUDPパケットを送受信するにはどうすればよいですか?
- 5. 自分のパケットをUDP経由で送信するにはどうしたらいいですか?
- 6. UDPパケットを同じアドレスに送信する効率
- 7. node.jsサーバーからAndroidアプリにメッセージを送信するにはどうすればよいですか?
- 8. サーバーからAndroidアプリにファイルを送信するにはどうすればよいですか?
- 9. Androidアプリから送信するデータを暗号化するにはどうすればよいですか?
- 10. ウェブページからスマート契約にETHアドレスを送信するにはどうすればいいですか?
- 11. UDPソケットがDHCPアドレスにパケットを送信できません
- 12. Rubyが既知のMACアドレスにパケットを送信する
- 13. パケットの宛先MACアドレスを変更するにはどうすればよいですか?
- 14. .NETでUDPパケットを送受信する
- 15. アプリでメールを送信するにはどうすればよいですか?
- 16. Androidアプリを使用してInstagramに写真を送信するにはどうすればいいですか?
- 17. SMSテキストをアプリからサーバーに送信するにはどうすればいいですか?
- 18. Phonegap:macincloudからアプリストアにiOSアプリを送信するにはどうすればいいですか?
- 19. AppEngineのカスタム「送信元」アドレスで電子メールを送信するにはどうすればよいですか?
- 20. webhookアドレスに投稿を送信しないようにするにはどうすればよいですか?
- 21. Androidでテキストメッセージを送信するにはどうすればよいですか?
- 22. キーイベントをAndroidで送信するにはどうすればよいですか?
- 23. Androidでメールを送信するにはどうすればよいですか?
- 24. IPアドレスを知っているPCにテキストメッセージを送信するにはどうすればいいですか?
- 25. Android JavaのMACアドレスをIPに変換するにはどうすればいいですか?
- 26. カスタムクラスのオブジェクトをAndroidからJava Serverに送信するにはどうすればいいですか?
- 27. mongodbデータベースからAndroidアプリケーションに文書を送信するにはどうすればいいですか?
- 28. fastcgiアプリにメッセージを送信/送信するにはどうすればよいですか?
- 29. UDPパケットに含まれる情報を取得するにはどうすればよいですか?
- 30. デフォルトiOSカメラアプリからアプリに写真を送信するにはどうすればよいですか?
これらはありません。なぜあなたはこれが必要だと思いますか? – EJP
@EJP私の理解では、DHCPクライアントは、ブロードキャストフラグを0に設定してIPアドレスを取得する前に、DHCPサーバからユニキャスト応答を要求することがあります。DHCPサーバは、DISCOVERメッセージで伝達されたMACアドレスに応答を送信することになっています。これについてあなたの説明を聞くのが大好きです。 – Hong