2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Wiresharkを使って一定時間でパケットを自動保存するバッチファイル

Last updated at Posted at 2019-02-10

#1 はじめに
解析等でネットワークパケットを保存したい場合、Windows OSではWiresharkを使ってパケットキャプチャするのが一般的だと思います。また、毎日、長時間パケットキャプチャする場合は、PCが突然落ちてしまうことも考え、一定時間で自動保存してほしいです。
そのバッチファイルを作成したので共有します。
※WiresharkのGUIからでもできます

#2 やりたいこと
・Wiresharkを使いたい
・一定時間でパケットを保存したい
・日毎にパケットをフォルダに分けたい
 ※毎日バッチを実行、終了する前提
・バッチファイルで実行したい

#3 動作確認環境
Wiondows 10
Wireshark Version 2.0.5

#4 バッチファイル

auto_save_packet.bat
@echo off
@Rem 保存するフォルダを指定する
Set BASE_DIR=C:\packets\

@Rem BASE_DIRで指定したフォルダの下で日付のフォルダを作成する
Set TODAY=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
Set FILE_DIR=%BASE_DIR%%TODAY%
Mkdir %FILE_DIR%

@Rem ネットワークインターフェイスを表示する
@echo ネットワークインターフェイス一覧
"C:\Program Files\Wireshark\tshark.exe" -D

@Rem ネットワークインターフェイスを入力する
set /p interface_id="パケットをキャプチャしたいネットワークインターフェイスを入力してください:"

@Rem パケットの保存間隔を入力する
set /p time_duration="保存間隔(分):"
set /a "time_duration *= 60"

@echo Wiresharkでパケットを保存します。終了させたい場合はCtrl+Cを押してください。
"C:\Program Files\Wireshark\dumpcap.exe" -i %interface_id% -b duration:%time_duration% -w %FILE_DIR%\packet.pcapng

#5 解説
保存フォルダを指定します。好きなフォルダを指定してください。

Set BASE_DIR=C:\packets\

指定した保存フォルダに日付名でフォルダを作成します。

Set TODAY=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
Set FILE_DIR=%BASE_DIR%%TODAY%
Mkdir %FILE_DIR%

ネットワークインターフェイス番号を表示します。Wireshrakのインストールされているフォルダにあるtshark.exeを指定します。-Dのオプションでインターフェイス番号を表示することができます。

"C:\Program Files\Wireshark\tshark.exe" -D

パケットキャプチャしたいネットワークインターフェイスの番号、パケットの保存間隔(分)を入力してもらいます。後述しますが、dumpcap.exeは秒間隔での指定となるため、分から秒に換算しています。

@Rem ネットワークインターフェイスを入力する
set /p interface_id="パケットをキャプチャしたいネットワークインターフェイス番号を入力してください:"

@Rem パケットの保存間隔を入力する
set /p time_duration="保存間隔(分):"
set /a "time_duration *= 60"

Wireshrakのインストールされているフォルダにあるdumpcap.exeを指定します。

"C:\Program Files\Wireshark\dumpcap.exe" -i %interface_id% -b duration:%time_duration% -w %FILE_DIR%\packet.pcapng

各オプションの説明は以下のとおりです。

オプション 説明
-i ネットワークインターフェイス番号を指定する
-b duration 保存間隔(秒)
-w キャプチャ結果をファイルに保存する

#6 実行結果
コマンドプロンプトの出力は以下の通りになります。
auto_save_packet.png

パケットは指定したフォルダ以下に自動で保存されます。パケットのファイル名には自動で連番が振られます。
packets.png

#7 参考サイト
https://knowledge.sakura.ad.jp/6311/

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?