4

このために、Wireshark よりも優れたツールを探しています。Wireshark の問題は、さまざまなパケットを比較し、サードパーティのエンコーディング (クローズド ソース) を理解しようとするために、データ レイヤー (私が見ている唯一の部分) をきれいにフォーマットしないことです。

具体的には、TCP/UDP ヘッダー情報ではなく、データを表示するための優れたツールは何ですか? 特に、比較のためにデータをフォーマットするツール。

具体的に言うと、複数の (2 つだけでなく) ファイルを 16 進数で比較するプログラムが必要です。

4

6 に答える 6

5

BreakingPoint Labs のこのブログ投稿をご覧ください。彼らは、手動のプロトコル リバース エンジニアリングと、この作業を容易にするためにPacketFu上に構築された一連のツールについて議論しています。

あなたの質問に関連するのは、パケットの変更を簡単に識別して強調表示できる一連のツールです。色を使用してパケットの違いを概説するスクリーンショットの例を次に示します: (ソース: breakpointsystems.com )代替テキスト

于 2009-03-09T13:04:33.710 に答える
3

率直に言って、あなたの最善の策は、自分でロールバックすることです。

使い慣れたスクリプト言語を入手して、問題の解決に取り組みましょう。最初に単純な多元比較を書きますが、重要だと思う (またはそうかもしれないと思う) パターンを見つけ始めたらすぐに戻ってコードに追加します。それらを出力から削除し、強調表示し、翻訳します。別の表記法に置き換えて、それらの「意味」またはその役割の高レベルの説明に置き換えます-適切と思われるものは何でも. 決められない場合は選択肢に入れましょう。

エンコーディングの理解を形成し、内面化するのに役立つ何かが必要なため、視覚化ソフトウェアを求めています。しかし、これから行う比較は、使用するプロセスの一部にすぎません (これは本質的には科学的方法です)。また、パケットのさまざまな部分が何を意味するか、それらがどのように相互作用するかについて、推測を作成および修正します。など

そこで役立つビルド済みのツールはありませんが、優れたスクリプト言語 (たとえば、python、ruby、さらには perl など) が大いに役立ちます。理論を立てたら、それをコード化して試してみてください。コードをいじり回し、思いついたさまざまなアイデアを試し、この問題に合わせてカスタマイズされたトリックの袋を作成していきます。

-- マーカスQ

PS C や Java などを使用してこれを行うという罠に陥らないでください。高速でルーズにプレイするため、変数の宣言やコンパイルなどを必要としないツールが必要です。ツールの仕組みを理解すれば、ツールを強化して書き直す機会がたくさんあります。

于 2009-03-03T19:34:10.547 に答える
2

問題は、ネットワーク データを分析することではなく、必要に応じて記述したバイナリ ファイルを比較することです。

Zoreadche で説明されているように tcpdump を使用するか、または Wireshark (つまり、TCP セッションに従う) を使用して、任意のスニファーを使用してアプリケーション データを抽出します。次に、ファイルに保存し、任意のファイル比較ツールで比較します。これらを試すことができます(最も人気のあるもの):

  • Examdiffプロ。ディレクトリを非常に高速に比較します。
  • ウィンマージ。Examdiff pro ほど高速ではありませんが、オープンソースであり、急速に進化しています。それは私の最初の選択です。
  • 比較を超えて。これは、私が知っている唯一のファイル比較ツールであり、探していることを正確に実行します。つまり、try ファイルを同時に比較します。
于 2009-03-10T08:02:26.067 に答える
1

HTTPの場合のみ、私はEffetechと呼ばれる優れたツールを使用していました。
(今それを見ると、HTTP以上のものをサポートしているようです...)

于 2009-03-04T14:56:42.343 に答える
0

ethereal で実行したキャプチャがある場合は、キャプチャを読み取るか、tcpdump でキャプチャを実行できます。キャプチャするには、 tcpdump -s 0 -qn -Xのような tcpdump コマンドを使用するか、またはtcpdump -X -r filenameでキャプチャを読み取ります。

22:08:33.513650 IP 192.168.32.10.40583 > 69.59.196.211.80: tcp 1261
0x0000:  4500 0521 18ec 4000 4006 322a c0a8 200a  E..!..@.@.2*....
0x0010:  453b c4d3 9e87 0050 b0b6 4b4f 1598 0090  E;.....P..KO....
0x0020:  8018 1920 9b4f 0000 0101 080a 002e 701b  .....O........p.
0x0030:  093c bc38 4745 5420 2f75 7365 7273 2f32  .<.8GET./users/2
0x0040:  3032 3637 2f7a 6f72 6564 6163 6865 2048  0267/zoredache.H
0x0050:  5454 502f 312e 300d 0a48 6f73 743a 2073  TTP/1.0..Host:.s
0x0060:  7461 636b 6f76 6572 666c 6f77 2e63 6f6d  tackoverflow.com

または、あなたが望むかもしれない別のtcpickがあります。TCP 接続のペイロードをキャプチャして、16 進数で表示するか保存することができます。

于 2009-03-05T06:12:40.410 に答える
0

問題は、アプリケーション層のデータが標準ではないことです (HTTP や POP3 などの例外はほとんどありません)。Wireshark などのツールは、形式がわからない場合、この情報をデコードできません。

一部の古いバージョンの Ethereal (現在は Wireshark) には、ペイロードを表示するオプション (有効にする必要がある場合があります) がありました。ほとんどのプロトコルはバイナリ形式です。

于 2009-02-12T14:44:13.143 に答える