1

私の場合、ハードウェア UDP パケットから宛先 PC に送信されます - 192.168.13.250 (45141) ですが、MAC ID は FF:FF:FF:FF:FF:FF です。これで、ソケットを使用せずにその宛先 IP とポートにバインドしました。しかし、ソケット プログラムを使用して PC から UDP パケットを受信できません。recvfrom() 呼び出しからは出ていません。それでも待っています。ハードウェア設定を使用して MAC ID を宛先 PC MAC ID (00-12-d5-f6-3e-92) に変更すると、UDP パケットを受信できます。MAC ID を変更せずに、つまり、ブロードキャスト MAC ID から UDP パケットを受信する方法。どんな助けでも大歓迎です。前もって感謝します。以下は、Wireshark からのログです。

  • 以下の UDP パケットが受信されない(Wireshark)

フレーム 3609 (有線で 7978 バイト、キャプチャされた 7978 バイト) イーサネット II、ソース: 0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc)、Dst: ブロードキャスト (ff:ff: ff:ff:ff:ff) インターネット プロトコル、ソース: 192.168.13.25 (192.168.13.25)、Dst: 192.168.13.250 (192.168.13.250) ユーザー データグラム プロトコル、ソース ポート: lbc-control (2780)、Dst ポート: 45141 (45141) データ (7936 バイト)

  • 次のUDPパケットが受信されます(Wireshark)

フレーム 3609 (ワイヤ上で 7978 バイト、キャプチャされた 7978 バイト) イーサネット II、ソース: 0a:dc:0a:dc:0a:dc (0a:dc:0a:dc:0a:dc)、Dst: ブロードキャスト (00:12: d5:f6:3e:92) インターネット プロトコル、ソース: 192.168.13.25 (192.168.13.25)、Dst: 192.168.13.250 (192.168.13.250) ユーザー データグラム プロトコル、ソース ポート: lbc-control (2780)、Dst ポート: 45141 (45141) データ (7936 バイト)

4

1 に答える 1

1

RFC 1122 セクション 3.3.6 は次のように述べています。

PC でブロードキャスト MAC アドレスを持つ UDP パケットを受信する場合は、ブロードキャスト IP アドレスも使用する必要があります。

于 2011-02-23T21:08:45.843 に答える