3

私は、UDP を介して IP パケットをカプセル化する必要があるデータ通信クラスの課題を与えられました。次に、この手動で作成されたパケットを実際の UDP パケットにカプセル化し、IP 経由で送信する必要があります。これにより、次のプロトコル スタックが生成されます (青は、手動で作成するヘッダーを示します)。

ここに画像の説明を入力

Javaでこれを行う簡単な方法はありますか? CI では、Linux カーネル ライブラリで UDP および IP ヘッダー用に定義された構造体を使用し、すべてのフィールドに手動で入力し、情報をパケットに連結できることを理解しています。ただし、Java では、Linux ネットワーク ヘッダー ファイルにアクセスできません。また、外部 API を使用せずにこれを実行しようとしています。

明確にするために、Eclipse を使用してアプリケーション Linux を開発する予定です。

4

1 に答える 1

1

実際、Java Native Access を介して Linux カーネル ライブラリにアクセスしようとする場合があります。

このように: ( http://jnaexamples.blogspot.tw/2012/03/java-native-access-is-easy-way-to.html )

TCP パケット構造をネイティブ C コードでラップし、Java ソケットから送信できます。

一方、Java で TCP/IP データ構造を組み立てたい場合は、jnetpcap ライブラリーがコーディングの参考になるかもしれません。( http://jnetpcap.com/node/29 )

于 2013-11-21T11:08:44.220 に答える