keima's caprice diary

気付いたことをメモのように綴ります。なるべく義務っぽくならないように気まぐれに記録します。

Wiresharkの動作がもっさりしていて困るのでdumpcapしてみた。

WiresharkGUIモードで実行するとPCの環境によっては動作が遅くなることがある。
よって、少しでも省エネでパケットキャプチャをするための取り組みとしてdumpcapを使うのも妙案かと思い、dumpcapを実行してpcapファイルを出力するバッチスクリプトを書いた。

前提:
OS = Windows7 32bit版
wiresharkがインストールされているフォルダ = "C:\Program Files\Wireshark\"
キャプチャファイルを出力するフォルダ = "D:\tmp\"

WIRESHARKをインストールすると、通常はdumpcap.exeも同梱される。

#---VVV------------<autocap.bat>------------VVV---#
@echo off
chcp 932
set WiresharkPath=C^:^\Program^ Files^\Wireshark\
set OutPath=D^:^\tmp^\
for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set today=%%a%%b%%c
for /f "tokens=1,2,3 delims=: " %%a in ('time /t') do set current_time=%%a%%b%%c
cd /d %WiresharkPath%
echo キャプチャするインターフェースをIDで指定してください。
echo キャプチャを停止する場合は、Ctrl + C です。
echo:
dumpcap -D
echo:
set /p INP="インターフェースID>"
dumpcap -i %INP% -w %OutPath%%today%%current_time%.pcap
pause
exit
#---AAA------------<autocap.bat>------------AAA---#

autocap.batを実行すると、PC上のどのインタフェイスでキャプチャするか問われるので、
適当な数字を入力してEnter!
適当なタイミングでCtrl+Cすればキャプチャを終了できる。