tcpdumpを使用して最後のN秒のパケットをキャプチャする方法


14

tcpdumpを使用して最後のN秒のパケットをキャプチャするにはどうすればよいですか?


1
「Give me」はあなたをここまで連れて行ってくれません。たぶん、これまでに試したことと、正確にどこに問題があるのか​​を自分で解決できないことを教えてください。
マティアスクル

あなたがしたいbashコマンドは次のとおりです。「男のtcpdump」
ウィリアム・Pursell

回答:


15

tcpdumpをn秒間実行してから終了する場合は、タイムアウトを使用できます。

例えば:

timeout 2 tcpdump -eni mon0

そうでなければ、tcpdumpにこれを行うオプションがあるとは思わない。


残念ながら、タイムアウトコマンドはCentOS 5.xにはありません。coreutilsの新しいリリースで追加されました。OSをアップグレードするもう1つの動機。
Mister_Tom 14

私はあなたがタイムアウトを持っていない場合、あなたは代わりにスクリプトでタイムアウトのようなものを作成することができたとします
シエスタ

私に最適です。これを使用して、機能していないプログラムのすべてのトラフィックを監視しました。N秒のタイムアウトでtcpdumpを開始しました。その後、プログラムを開始しました(最大でN秒かかります)。
トレバーボイドスミス

質問は、最後の N秒をキャプチャするように求めます。答えは、最初の N秒をキャプチャする方法を示します。
Flimzy

3

これを実現する最善の方法は、tcpdumpの-Gフラグを使用することだと思います。-wと共に使用すると、N秒ごとに新しいファイルにダンプが保存されます。例えば:

tcpdump -w outfile-%s -G 10

これにより、10秒ごとに 'outfile-XXXX'(XXXXはエポックからの秒数を表す)という名前の新しいファイルが作成されます。

詳細については、tcpdump(8)およびstrftime(3)のマニュアルページを参照してください。


CentOS 5.10に同梱されているtcpdump 3.9.4には、-Gオプションがありません。OSをアップグレードする必要があります。
Mister_Tom 14

-Gはtcpdumpコマンドを停止しません。それはまだ永遠に実行されます。タイムアウト2 tcpdumpは、2秒後にコマンドを停止します。
シセロン

@ciceron:質問はtcpdumpを止めることではありませんでした。最後のN秒をキャプチャすることでした。あなたの提案は最初の N秒をキャプチャします。明らかに、OPが要求したものではありません。
Flimzy

1

tcpdumpの代わりにtetherealを使用できます。次のコマンドラインオプションを使用できます。

-a duration:X

これは質問に答える可能性がありますが、なぜそうするのかの説明を提供できれば、より良い答えになるでしょう。
DavidPostill

tcpdump自体は時間制限のあるパケットトレースを許可しませんが、tsharkは許可します。(この質問に答えてから、EtherealがWiresharkになったため) tshark -a duration:600 -i eth0 -w $(hostname).10mins.pcapインターフェースeth0からファイル$(hostname).10mins.pcapに10分間のトラフィックをキャプチャします
Andrew Beals

0

tcpdump options -w new.tcpdump

ps -ef |grep tcpdump

PIDをメモし、11193と言います

at 11:00 kill 11193

11:00が来るまで待ってください。キャプチャは強制終了されますが、保存されます。


fwiw pgrepは、ps | grepよりもはるかに優れた代替手段です。特にここ。
良い人

0

同じ問題を解決しようとしていたので、n秒の間tcpdumpを実行するポータブルスクリプトを作成しました。

#tcpdump_for_n_sec.sh
n=$1
shift #remove first arg from $@ 
tcpdump $@ & x=$!
sleep $n
kill $x

使用方法./tcpdump_for_n_sec.sh sec args for tcpdump

./tcpdump_for_n_sec.sh 5 i- any not port 22 -s0 -wfile.pcap

0

sudo tcpdump -i -w&これにより、tcpdumpがスリープモードになります

  • w:出力を.pcapファイルに保存&:tcpdumpプロセスはスリープモードで実行される注:必要に応じて、十分なスペースがあることを確認してください。しばらく実行します。プロセスを強制終了するまでログオフしても中断しません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.