GNU/Linux >> Linux の 問題 >  >> Linux

TCP 接続で pcap ファイルを分割するためのツール?

解決策 1:

tcpdump を使用できます 必要な pcap の部分を抽出するには...あるホストの TCP/55777 と別のホストの TCP/80 の間のソケット接続でパケットを探しているとします。ソースファイルは bigfile.pcap です 、これは問題の Web ホストへの多数の HTTP セッションのスニファー ダンプです...

tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777

これにより、bigfile.pcap で TCP/55777 に出入りするすべてのパケットがプルされます それらを session.pcap にコピーします .

解決策 2:

PcapPlusPlus パッケージの一部である PcapSplitter を使用することもできます。それはあなたが必要とすること(TCPまたはUDP接続によってpcapファイルを分割すること)を正確に行い、マルチプラットフォームであり、元のファイルの接続数に制限がありません(したがって、それを使用して大きなファイルを分割できます数千またはそれ以上の接続を含む pcap ファイル)。上記のリンクはソース コード用ですが、コンパイル済みのバイナリが必要な場合は、複数のプラットフォーム用に作成したバイナリのリンクを次に示します

編集: どうやら PcapPlusPlus の新しいバージョンがリリースされ、かなり多くのプラットフォーム (Windows、Ubuntu 12.04/14.04、Mac OSX Mavericks/Yosemite/El Captian) 用の PcapSplitter バイナリが含まれています。以前に提供したリンクよりも、これらのバイナリを使用する方が良いと思います。ここで見つけることができます

解決策 3:

tcpflow が必要です - pcaps を TCP セッションごとに 1 つのファイルに分割します

http://www.circlemud.org/jelson/software/tcpflow/

解決策 4:

少しやり過ぎですが、 tshark を使用しています (wireshark で出荷 )、あなたは zsh で行うことができます :

file=file.pcap
tshark -Tfields -e tcp.stream \
                -e frame.time_epoch \
                -e ip.src \
                -e tcp.srcport \
                -e ip.dst \
                -e tcp.dstport -r $file |
  sort -snu |
  while read -A f; do 
    tshark -r $file -2R "tcp.stream == $f[1]" -w ${(j:-:)f[2,-1]}.pcap
  done

1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap のような名前のファイルを生成します (各接続で見られる最初のパケットに基づく)。

解決策 5:

うまくいくかもしれないこのツールがあるようです (私は個人的には使用していません)

http://www.netresec.com/?page=SplitCap (Windows ベース)

<ブロック引用>

SplitCap は無料の (ビールのように) オープンソースの pcap ファイル スプリッターです。 SplitCaps は、TCP および UDP セッションに基づいて、1 つの大きな pcap ファイルを複数のファイルに分割します。セッションごとに 1 つの pcap ファイルです。 SplitCap は、セッションの代わりにホスト ペアごとに pcap ファイルを 1 つの pcap ファイルに分割するためにも使用できます。


Linux
  1. 1つのファイルを除くすべてのファイル/ディレクトリを削除しますか?

  2. Linux でのファイルの変更とファイルの実行を監査する方法

  3. TCP ラッパーによって拒否された SSH 接続

  1. Linux:複数のファイルのファイル拡張子を削除する

  2. Linux 用の優れた 16 進エディタが必要

  3. nc を使用して複数の tcp 接続をリッスンする方法

  1. Linuxでのファイルタグ付けの良い解決策は何ですか?

  2. Linux 上の大きなファイルのバイナリ diff/パッチ?

  3. root ユーザーのファイル許可はどのように機能しますか?