tcpdump --- 非回転ファイルでパケットをキャプチャします。

tcpdump --- 非回転ファイルでパケットをキャプチャします。
tcpdump -i eth0 -C 5 -W 1 -w <file name>&

上記のコマンドを使用して、Ubuntuシステムからパケットを5MBのpcapファイルとしてキャプチャしました。 pcapファイルが最大サイズ(5MB)に達すると、ファイルは回転して0KBから再開されます。

ファイルが最大サイズに達すると、tcpdumpがファイルを回転させるのを防ぎ、その時点からパケットをドロップできるかどうかを知る必要があります。

答え1

Wireshark/tsharkにアクセスできる場合:

tshark -i eth0 -a filesize:5000 -w my.pcap &

答え2

方法を見つけました! ! ! !

tcpdump私たちはこのようにハッキングできます。

tcpdump -i eth0 -C 5 -W 2 -w my.pcap -z ./stop.sh&

stop.sh

# !/bin/sh
pkill tcpdump
rm my.pcap0

これは私にとって効果的です...

答え3

tcpdump(4.9.2) は、キャプチャ時間 (-G) とともに使用した場合にファイル数 (-W) のみをサポートするようです。 1つのファイルのみをキャプチャするもう1つの方法は、パケット数を制限することです(-c)。 tcpdumpは、サイズ制限(-C)が適用された非回転ファイルを書き込めないようです。

ソースコードによると、次の終了ステートメントがあります。

if (Cflag == 0 && Wflag > 0 && Gflag_count >= Wflag) {
    (void)fprintf(stderr, "Maximum file limit reached: %d\n",
        Wflag);
    info(1);
    exit_tcpdump(0);
    /* NOTREACHED */
}

具体的には、CFlag(ファイルサイズ)がゼロかどうかをテストします。

例 1: パケット別計算

# tcpdump -vi any -w ./count.pcap -c 42 ip

例 2: キャプチャ時間別

# tcpdump -vi any -w ./time.pcap -G 7 -W 1 ip

結果:それぞれ1つのファイル

# ls
count.pcap  time.pcap

ファタイ

関連情報