0
どのホストにバインドするのかを指定せずにSOCK_PACKETソケットにデータを送信するにはどうすればよいですか? IPヘッダーを構築してどこに行かなければならないのかを示しましたが、write()は動作しません。AF_PACKETソケットのデータを送信する
どのホストにバインドするのかを指定せずにSOCK_PACKETソケットにデータを送信するにはどうすればよいですか? IPヘッダーを構築してどこに行かなければならないのかを示しましたが、write()は動作しません。AF_PACKETソケットのデータを送信する
Do not。 write()を使用し、sendto()を使用します。
PF_PACKET、SOCK_DGRAMを使用すると、通常あなたが望むリンク層ヘッダーが作成されます。あなたはまだあなたが上に使用している任意の上位プロトコルを構築する必要があります。
destinationパラメータにsockaddr_llを指定します。リンクレイヤのユニキャストアドレス、マルチキャストアドレス、またはブロードキャストアドレスを指定できます。
IPヘッダーに宛先が含まれている場合、sendto()で指定するホストは何か問題はありますか? – computergeek6
はい、絶対ありません。 IPパケットを送信している場合は、PF_PACKET、SOCK_DGRAを使用している場合は、適切なリンク層アドレスに送信する必要があります。生のIPパケットを送信する場合は、代わりにPF_INET、SOCK_RAWを使用することをお勧めします。 – MarkR
PF_INET、SOCK_RAWを使用すると、ソケットをバインドする必要がありますか? – computergeek6