web-dev-qa-db-ja.com

-Java)を使用してwiresharkファイルから取得したpcapを解析します

ネイティブライブラリや準備ができたライブラリを使用せずに、Javaを使用して、wiresharkから取得したPCAPファイルの変換に取り組んでいます。

意味のある部分をチェックするためだけに、バイトを文字列に直接変換しました。

それから私はそれを16進数から文字列に変換しようとしました。それは意味がありませんでした。

Javaライブラリ jNetPcap があります。これはcで記述されたすべてのlibpcapライブラリのネイティブ呼び出しをラップしています。

次の図は、ワイヤレスネットワークをキャプチャしたものです。したがって、pcapには同じ情報が含まれます:送信元IP、宛先IP、プロトコル、長さ、および情報

Wireshark picture

16進数または2進数のデータを含むpcapファイルから同じ結果を取得しようとしています。

d4c3 b2a1 0200 0400 0000 0000 0000 0000
0000 0400 0100 0000 2fd4 b355 2af8 0600
3600 0000 3600 0000 0100 5e00 0016 f409
d8ed d951 0800 46c0 0028 0000 4000 0102
4049 c0a8 0308 e000 0016 9404 0000 2200
fa02 0000 0001 0300 0000 e000 00fb 2fd4

最後に、次のような出力を取得したいと思います。

Output

パケットとファイル形式をどこで入手するかについての手がかりや提案は、私を大いに助けてくれます。すでにこの問題に取り組んでいる誰かがいるかもしれませんか?

ありがとう

9
MBH

質問者は、jNetPcapはネイティブライブラリをラップするため、理想的ではないと述べました。受け入れられた回答からの間に、純粋なJavaライブラリが出現しました: https://github.com/aboutsip/pkts

2
CrazyPyro

私はこれを別のブログで見つけました、そしてあなたに役立つように思われるかもしれません:

  1. 次のようにオフラインのpcapファイルを読み取ることができます(すべてのパケット): http://jnetpcap.com/node/905

  2. 必要な情報を抽出し、Txtファイルに1つずつ保存します。

情報を抽出するには、次のようにします。 http://jnetpcap.com/tutorial/usage

6
Garry