質問

作りたいソケットへのアクセスのIPv4パケットからデータリンク層である。UnixネットワークプログラミングV1,

socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP))

1)私の実施dhcpクライアントは、この正しいのか。ることなくアクセスデータリンク層、私が受けられない回答からのdhcpサーバー)がありそうです。また、このソケットを受けるすべてのIPv4パケット向けの私のシステムはいつ、どのように区別するdhcpの応答パケットから他のパケット?

2)ご提案ください良いリンク/tuorial用 ネットワークプログラミングとデータリンク層にアクセス.上記書で詳細に説明するため

この 私のコード

役に立ちましたか?

解決

あなたもリンク層のヘッダーを必要ですか?もしそうなら、あなたはあなたのアプリケーションにそれを供給する前にリンク層ヘッダを削除しますSOCK_RAW-SOCK_DGRAMを使用する必要があります。

DHCPはUDPポート67と68のトラフィックを生成するので、

あなたは、送信元ポートと宛先ポートでDHCP要求を識別することができます。

他のヒント

あなたはPCAPライブラリを見てみましたか? これは、IP、ポート、および他のものの上に素敵なフィルタリング機能を提供します。

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