javaでtcpヘッダを自前で作成する方法
こんにちは。
javaでtcpヘッダを自前で作成する方法を探しています。
例えばsynやrstのみ出力するですとか、シーケンス番号を自分で決めてTCPヘッダとデータを作っていくことです。
tcpコネクションを自動で確立してくれるものではありません。
実験用にfinだけ付けたパケット1つだけ飛ばし、対向の機器がどのような反応をするかを見るためのものです。
Cでは方法はあるようなのですが、私にはCよりもJavaの方がとっつきやすいので、Javaでできる方法を探しています。
例えばどのようなクラス(java.io.*など?)をインポートしてどのような関数を使えばよいでしょうか。
何卒よろしくお願いします。
No.4ベストアンサー
- 回答日時:
たぶんJpcapでできると思いますよ。
http://netresearch.ics.uci.edu/kfujii/jpcap/doc/ …
見れば分かると思いますが、サンプルも、
http://netresearch.ics.uci.edu/kfujii/jpcap/samp …
No.3
- 回答日時:
多くのOSはTCPの実装をOS側が持っているので、そこを変更したいのであれば
RAW Socketを使うか、ドライバレベルで変更するしかありません。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …
JavaではRAW/ICMP SOCKETSをサポートしていないと書かれていますね。(実装はC/C++で書いてJNIで呼び出すとかしかないようです。)
>例えばsynやrstのみ出力するですとか、シーケンス番号を自分で決めてTCPヘッダとデータを作っていくことです。
TCPの偽装が目的でなく、そのような制御を実装したいのであればUDPで可能かと思います。
ちなみにRAW Socketを扱う場合WindowsならAdmin権限、UNIX系ではRoot権限が必要になります。
No.1
- 回答日時:
ネットワーク通信関係のクラスはjava.netにありますが、Javaではそのレベルでの制御は難しいんじゃないのかな。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- Java 自作Androidアプリのデータ引き継ぎ方法について。 Android Studio でアプリを作成 1 2022/08/13 21:44
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java JavaでWebページ作成 7 2023/07/21 21:09
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- Java Java 年数計算 3 2023/01/28 10:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
struts2環境構築で不具合が出て...
-
EclipseのJDBCドライバーについて
-
java と javax の違いは?
-
javacのコンパイルでファイルが...
-
JAVA実行時エラーについて教え...
-
-Applet表示でのjava.lang.Clas...
-
Javaでのエラーについて
-
propertiesが読み込めなくてnul...
-
javaのマニュアルをローカルに...
-
カウントダウンがうまくいかない!
-
javaのGUIツールキット
-
複素関数はどこはあんまりやら...
-
vba クリップボードクリアにつ...
-
JSPファイルで生じるエラーをど...
-
gitでバージョン指定してダウン...
-
データベースのデータをTextBox...
-
使用しているJUnitのバージョン...
-
JavaとAndroidアプリ(Java)違...
-
IISワーカープロセスが原因でCP...
-
IIS6.0アプリケーションプール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaでのエラーについて
-
java と javax の違いは?
-
struts2環境構築で不具合が出て...
-
JAVA実行時エラーについて教え...
-
DBから全権検索したデータをjsp...
-
CLASSPATHを設定しても、『Clas...
-
javacのコンパイルでファイルが...
-
JAVAでYYYYMMDDhhmm形式の文字...
-
javaからデータベースに接続 エ...
-
JasperExceptionのエラーログの...
-
-Applet表示でのjava.lang.Clas...
-
javaサーブレット upload時
-
マイクラ1.7.10にcutallなどが...
-
[JAVA+CSV]カンマ区切りを分解...
-
Java コンソールが起動しない
-
$_SERVER['HTTP_USER_AGENT'] ...
-
jdk-1_5_0_07でのコンパイルエラー
-
Tomcatでエラー
-
EclipseのJDBCドライバーについて
-
javaでtcpヘッダを自前で作成す...
おすすめ情報