web-dev-qa-db-ja.com

tcpdumpファイルサイズが10Mbに達したときに新しいファイルを保存する方法

Tcpdumpを使用してネットワークトラフィックをキャプチャしたいのですが、キャプチャされたパケットの上昇が10 MBの場合、別のファイルを作成したいと思います。tcpdumpを使用してこれをスケジュールするにはどうすればよいですか。親切にしてください。ありがとうございました。

8
Kevin Ð Alwis
tcpdump -W 5 -C 10 -w capfile

上記のコマンドは、5ファイル(-W 5)の回転バッファーを作成し、現在のファイルが10,000,000バイト、約10MBに達するとtcpdumpが別のファイルに切り替わります(-Cは1,000,000バイトの単位で動作するため、-C 10 = 10,000,000バイト)。ファイルのプレフィックスはcapfile(-w capfile)になり、それぞれに1桁の整数が追加されます。

したがって、ディレクトリには、一定のキャプチャデータでローテーションする5つのファイルがあります。

capfile0
capfile1
capfile2
capfile3
capfile4

それぞれが約10,000,000バイトになりますが、おそらくわずかに大きくなります(残りのスペースと最後に受信したパケットのサイズによって異なります)。より大きなローリングデータが必要な場合は、-Wをより高いカウント(-W 50)に設定します。

また、ユーザーとグループのtcpdumpが、これらのファイルを保存している場所に書き込むためのアクセス権を持っていることも非常に重要です。 rootとして実行している場合でも。

10
Peter Party Bus

-Wを省略するとローテーションが無効になるため、ファイルはローテーションされる代わりに追加されるだけです。ネットワークの問題を調査し、トラフィックを長時間キャプチャする必要があり、すべてのファイルをそこに配置する必要がある場合に適しています。

% tcpdump -i eth0 -w file.pcap -G 3600 -C 100 -K -n &
4
chenchuk

これは非常に便利なスレッドであるため、このtcpdumpコマンドを実行するフォルダーには world書き込み可能アクセス許可が必要であるか、ユーザーが所有者または所有者の一部である必要があることに言及する価値があります。ディレクトリのグループ を指定しないと、ファイルへの書き込み中にエラーが発生します。

0
madballoonist