Cコードでイーサネットフレームを使って生データを構築しようとしています。 パケット(Ethernet-> IP-> UDP-> DHCPプロトコルを含む)を構築し、それをWiFiインタフェース経由で送信しました。私はそれを印刷したWireshark経由で追跡しました。 Ethernet2 - >フレームチェックシーケンス - >間違っていて、XXXであるべきです。イーサネットの生データとフレームチェックシーケンス
パケットにFCSデータを作成していないため、フィールドを空白のままにしました。 ここでは、Cで単純な関数/コードを見つけることができません。私が見つけたすべてのコードは、私に悪い結果をもたらしました。
誰かが以前に行ったことがあり、イーサネットパケットにFCSを実装する方法を共有できますか?
は事前に
てください[MCVE](http://stackoverflow.com/help/mcve) –
@MichaelFoukarakis:これはもっとオフトピックもあるライブラリーの要求のように見えますが。 – Olaf
ほとんどの(すべてではないが)イーサネットMACはハードウェアでFCSを生成します。しかし、一般的なコンピュータのユーザ空間プログラムは通常、リンク層のパケットを書き込むことができません。つまり、生のソケットはネットワーク層(IP)から始まります。したがって、あなたは組み込みシステムやこのタスクのためのいくつかのカーネルモジュールを持っていると仮定しています。適切なヘルプの質問に言及する必要があります。 –