私はUnixに初めてアクセスし、60秒ごとにtsharkコマンドを繰り返すためのクイックコードを要求したいと思います。
私が実行したいコマンドは次のとおりです。
tshark -z io,stat,1,tcp.port==80,tcp.port==443 -a duration:60 > filename.txt
このコマンドをループに入れ、出力ファイル名が変更されるたびに60秒ごとに再実行する必要があります。ファイル名の指定に時間と日付を使用するか、数値ステップカウンタを使用する方が簡単です。
どんな提案がありますか?
ありがとう
答え1
公開したコマンドの実行には既に約 60 秒かかり、次のことができます。
while true; do tshark ... > "tshark-$(date +%F-%T).txt"; done
これにより、次のような結果が生成されますtshark-2017-02-16-11:44:22.txt
。
答え2
このコマンドをループで繰り返すと、1回のtshark出口と次のtshark出口との間で送信され、パケットをキャプチャする準備ができたパケットがありません。
おそらくより良いアプローチは、一度使用dumpcap
して毎分新しいファイルを作成するように指示することです。次に、必要に応じてこれらのダンプから統計を取得します。生のダンプファイルを使用すると、そのファイルからすべての可能な情報を取得できます。
それは次のとおりです。
dumpcap -b duration:60 -w dump.pcap
これにより、というファイルが生成されますdump_00002_20170224130408.pcap
。
その後、必要に応じて統計を取得します。
tshark -z io,stat,1,tcp.port==80,tcp.port==443 -r dump_00002_20170224130408.pcap