TCP Dumpを30秒間で終了させたい

投稿者: Anonymous

tcpdump -Ini en0 -w test1.pcap を実行、
30秒たったらtcpdumpを終了したいです。

以下に試行錯誤の様子を記載します。

#!/bin/bash -v
timeout 30 tcpdump -Ini en0  -w test1.pcap

というスクリプトを書いてみましたが、bashではtimeoutを使えないようです。
-bash: timeout: command not found

#!/bin/bash -v
timeout 30 tcpdump -Ini en0  -w test1.pcap
sleep 30
exit

と書いてみましたが、30秒経ってもパケットキャプチャは終了しません。

解決

-W オプションと -G オプションを併用します。

以下のように起動することで、ログローテーションは60秒間隔 (-G60), ローテーション1回のみで終了 (-W1) となります。このため、結果的に60秒間で tcpdump は終了します。

tcpdump -i eth0 -w moemoe.pcap -W1 -G60
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *