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


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

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

[code]

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

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

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

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




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

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

[code]

    tcpdump -i eth0 -w moemoe.pcap -W1 -G60
    
[/code]




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

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

[code]

    tcpdump -i eth0 -w moemoe.pcap -W1 -G60
    
[/code]

