本日は、バッチコマンド netstatの使い方について解説します。
netstat(Network Statistics)は、Windowsのコマンドプロンプトで使用できるネットワーク関連の情報を表示するコマンドです。
主にネットワーク接続、ルーティングテーブル、ネットワークインターフェースなどの情報を表示するために使用されます。
以下に、netstatコマンドの基本的な使い方と一般的なオプションを説明します。
netstat [オプション]
一般的なnetstatオプション:
-a (All Connections):
すべての接続(リスニングおよび非リスニング)を表示します。
-n (Numerical Display):
ホスト名とサービス名を数値形式で表示します。これにより、名前解決の時間が短縮されます。
-o (Display PID):
各接続に対応するプロセスのPID(プロセスID)を表示します。
-b (Display Executable Name):
接続に関連付けられた実行可能ファイルの名前を表示します。
-p (Display Protocol):
接続に使用されているプロトコルを表示します。
-r (Display Routing Table):
ルーティングテーブルを表示します。
-s (Display Statistics):
プロトコルごとの統計情報を表示します。たとえば、TCPやUDPの統計情報が含まれます。
-f (FQDN):
フルクオリファイドドメインネーム(FQDN)を表示します。
-e (Ethernet Statistics):
イーサネットインターフェースの統計情報を表示します。
これらのオプションを使用して、ネットワーク接続情報や統計情報を詳細に取得できます。
特定のプロセスを監視するバッチファイルを作成します。
特定のプロセスに関連するnetstat情報を5分に一度抽出し、ファイルに保存できます。
例として “chrome.exe”を監視するためのバッチファイルの例です。
@echo off
setlocal enabledelayedexpansion
REM 監視対象のプロセス名を指定します
set PROCESS_NAME=chrome.exe
REM netstatの出力をファイルに保存する場所とファイル名を指定します
set OUTPUT_FILE=C:\netstat_output.txt
:LOOP
REM netstatコマンドを実行し、特定のプロセスに関連する情報を抽出して指定したファイルに追加します
netstat -ano | findstr /c:”%PROCESS_NAME%” >> %OUTPUT_FILE%
REM 5分待機
timeout /t 300
REM ループを継続
goto LOOP
REM スクリプトの終了
endlocal
バッチファイルを実行するには、バッチファイルを右クリックし、「管理者として実行」を選択して実行できます。
必要に応じて、監視間隔を調整したり、他のプロセスを監視するためにPROCESS_NAMEを変更できます。
本日は、Windowsのネットワーク情報の取得コマンドnetstatについて説明しました。