| [Network] | ||||||||||||||
Port ReporterツールでTCP/IPの通信状態を調査する
|
||||||||||||||
|
||||||||||||||
| 解説 |
ネットワークのトラブルシューティングやアプリケーションのデバッグ、ファイア・ウォールの設定などのために、あるアプリケーションがどのようなTCPやUDPのポートを使用しているかを調べたいことがある。このような場合は、netstatを実行したり、Windows Server OSに付属のネットワーク・モニタを利用したりするのが普通である。だが、netstatは動的なポートの状態を記録するには向かないし(常に実行し続け、さらにその結果をファイルに記録しておく手段がない)、ネットワーク・モニタでは(イーサネット上のパケットをキャプチャするという性質上)、ローカル・ループバック・インターフェイス(127.0.0.1)あての通信を見ることができない。
このような目的のためには、マイクロソフトから提供されている「Port Reporter」というツールを使うとよい。このツールの機能を端的に述べると、「netstatコマンドを動的に実行して、その結果をすべてログ・ファイルに残すツール」といえるだろう。
Port Reporterはサービスとして利用するツールである。システムにこのツールをインストールすると、TCPやUDPの通信状態をモニタし続け、状態が変化した時点で(例えばポートがリッスン状態になったとかオープンされたなど)、その結果をログ・ファイルに記録する。Windows XP以降のOSの場合は同時にプロセスの状態も記録されるため、どのプロセスがどのTCP/UDPポートを利用したかという情報を取得することができる。
| 操作方法 |
手順1―ダウンロードとインストール
上記のダウンロード・サイトからPort Reporterツール(PortRptr.exe)をダウンロードして実行すると、解凍する場所を問い合わせるダイアログが表示される。場所を指定して[OK]をクリックすると、全部で4つのファイルが展開されるので、その中にあるpr-setup.exeを実行してPort Reporterツールの実行プログラムをインストールする。インストール先はデフォルトでは「%ProgramFiles%\PortReporter」となっているが、「pr-setup -d 'c:\portreporter'」のように指定すれば(シングル・クオート記号でインストール先のパス名を囲むこと)、任意のフォルダにインストールすることができる。ただしこのフォルダにインストールされるのはPortReporter.exeという実行ファイルが1つだけなので、特別な理由がない限り、デフォルトの場所にインストールしておけばよいだろう。
手順2―サービスの起動
プログラムをインストールすると、「Port Reporter」というサービスがシステムに追加される。デフォルトでは[スタートアップの種類]が[手動]となっており、インストールしただけではサービスは稼働しない。
![]() |
||||||
| Port Reporterサービスの起動設定 | ||||||
| Port Reporterツールをインストールすると、「Port Reporter」というサービスがインストールされる。このサービスはデフォルトでは手動起動になっているので、必要に応じて[自動]で起動するように設定を変更する。 | ||||||
|
[スタートアップの種類]を[自動]にすると、システム起動時からログが取得され続けることになり、ログ・ファイルのサイズはかなり大きくなるので、必要なときだけログを取得するようにしておくのがよいだろう。このPort Reporterサービスは、常に動作させておいて異常発生時にログをさかのぼって調べるといったものではなく、どちらかというとデバッグやトラブル発生時のネットワークの挙動を調べるための補助手段といった意味合いが強い。そのため、必要なときにサービスを開始し、ログを収集するのがよいだろう。サービス管理ツールではなく、コマンド・プロンプトから素早くサービスを開始するには次のコマンドを実行すればよい。
net start "port reporter" |
サービスを停止するには、次のコマンドを実行する。
net stop "port reporter" |
ログ・ファイルの確認
Port Reporterサービスが起動すると、イベント・ログの「アプリケーション」イベントに、サービスの開始を通知するイベントが2つ記録される。1つは「The Port Reporter service was started.」というサービスの開始メッセージで、もう1つはログ・ファイルの場所を示す「The Port Reporter service successfully created log files in the following directory: C:\WINDOWS\system32\LogFiles\PortReporter」というイベントである。このように、イベント・ログにサービスの開始や停止の記録がいくつか残るが、これはあまり重要ではない。このサービスによって出力されるデータは基本的にはすべてPort Reporter専用のログ・ファイルに記録される。
Port Reporterのログ・ファイルは、デフォルトでは「%SystemRoot%\System32\LogFiles\PortReporter」というフォルダに作成される。この中に以下の3種類のファイルが作成される。
| ファイル名 | 用途 |
| PR-INITIAL-*.log | TCP/IPの初期状態 |
| PR-PORTS-*.log | ポートごとの使用状況。TCPやUDPの状態が変化するごとに1行ずつ記録される |
| PR-PIDS-*.log | コンピュータ名やログオンしているユーザー名のほか、TCPやUDPの状態が変化するごとに、その通信を開始したプロセスに関する情報(プロセスIDやプログラム名、DLLファイル名など)が記録される。PR-PORTS-*.logファイルの1行ごとに対応して、新しいエントリが1つずつ作成される。ただしWindows 2000以前のOSではこのファイルには有効な情報は記録されない |
| Port Reporterサービスのログ・ファイル | |
| Port Reporterサービスでは、1度にこの3つのファイルがセットで作成される。ファイル名の「-*」の部分には、サービスが開始された年月日と時分秒が入る(例:PR-PORTS-04-04-1-12-34-56.log)。ログ・ファイルがいっぱいになるか(デフォルトでは5Mbytes)、1日ごと(午前0時0分)に新しいログ・ファイルに切り替えられる。ただしWindows 2000ではOSの制約により、PR-PIDS-*.logファイルには有用な情報は記録されない。 | |
ログ・ファイルには、作成された年月日や時分秒を表すファイル名が付けられている。3種類のファイルには同じ日時が付けられるので、どのファイルがペアであるかがすぐに分かるようになっている。またサービスが起動した場合や、ログ・ファイルがいっぱいになった場合には(デフォルトでは5Mbytes)、新しいログ・ファイルに切り替わる。常にログを記録するようにしていると、非常に多くのログ・ファイルが残ることになるので、注意が必要である。
それでは各ログ・ファイルの内容について見てみよう。
PR-INITIAL-*.logファイル
このファイルには、サービス起動のコンピュータの状態やコンピュータ名、ネットワークの状態(netstatコマンドの実行結果と同じ)、およびコンピュータ上で稼働しているプロセスの状態(プロセスIDや実行ファイル、DLLファイル名など)などが記録される。ただしWindows 2000では、OS機能の制約などにより、詳しいプロセスの状態は記録されない。
※Windows XPにおけるPR-INITIAL-*.logファイルの例 |
PR-PORTS-*.logファイル
このファイルには、TCPやUDPの通信状態が1行ずつ記録される。このファイルの内容を確認することにより、どのプロセスがどのTCPやUDPポートを使って通信しているかが分かる。ただし通信データの内容が分かるわけではなく、例えばリッスン状態になったとか、通信を受け付けた(オープンされた)といった情報が得られるだけである。またWindows XP以降のOSでは、どのプロセスにおける通信であるかという情報も得られるので(netstatの-oオプションと同じ)、後述のPR-PIDS-*.logファイルの内容と照合することにより、プロセスの情報も詳しく調べることができる。
※Windows XPにおけるPR-PORTS-*.logファイルの例※「⇒」は実際には1行につながっていることを表す) |
記録データの各行には、時刻やポートのほか、次のような情報が「,」で区切られて記録されている。IPアドレスの「0.0.0.0」は、リッスンやオープン状態になったことを示している。
| OS | データの内容 |
| Windows XP以降 | 日付,時刻,プロトコル(TCP/UDP),ローカル・ポート,ローカルIPアドレス,リモート・ポート,リモートIPアドレス,プロセスID(PID),モジュール,ユーザー・コンテキスト |
| Windows 2000 | 日付,時刻,プロトコル(TCP/UDP),ローカル・ポート,ローカルIPアドレス,リモート・ポート,リモートIPアドレス |
| PR-PORTS-*.logファイルの記録内容 | |
| TCPやUDPの通信内容(状態の変化)が、1コネクションにつき1行ずつ記録される。Windows XP以降のOSでは、同時にプロセスに関する情報も記録される。「ユーザー・コンテキスト」とは、そのプログラムを実行しているユーザーの名前。 | |
このログには、正常な通信のみが記録される。外部からの攻撃(未オープン・ポートへの接続要求など)やファイアウォールでブロックされているような通信要求は記録されない。ちょうどnetstatコマンドを動的に実行してログを残しているようなものだと考えておけばよいだろう。そのためPort Reporterサービスは、ファイアウォールのロギングのような用途で使うものではなく(外部からの攻撃の有無を記録するものではなく)、あるアプリケーションが利用しているTCPやUDPのポートなどを調べるために利用するものである。Windows Server OSに付属のネットワーク・モニタと同じような目的に利用できるが、Port Reporterでは内部ループバック・インターフェイスあての通信でもロギングすることができるという特徴がある(ネットワーク・モニタではイーサネットなどへ実際に送信されたパケットしかキャプチャできない)。
PR-PIDS-*.logファイル
このファイルには、上のPR-PORTS-*.logファイルと対応して、その通信を行ったプロセスに関する詳しい情報が記録される。ただしWindows 2000ではOSの制約により、このファイルには何も情報は記録されない。
※Windows XPにおけるPR-PORTS-*.logファイルの例 |
記録される内容は、PR-INITIAL-*.logファイルにおけるプロセス情報と同じであり、通信を行っているプロセスのファイル名やDLL、ロード・アドレスなどの情報が得られる。![]()
|
||||||||||||||||||||||||||||
| 「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- 第207話 究極の人事システム (2010/2/9)
部長、わが人事部が開発した究極の人事評価システムがついに完成しました! これで不要な社員が一発で分かります! - WindowsTIPS (2010/2/5)
− netshコマンドでTCP/IPのパラメータを設定する
− Virtual PC 2007の共有NATで利用可能なアドレス範囲
− スタンバイ復帰でパスワード入力を要求されないように - 仮想環境でActive Directoryを利用する (2010/2/4)
仮想環境にADをインストールすれば、自由にActive Directoryドメイン・ネットワークを構築して実験できる - 第206話 バナー広告案 (2010/2/2)
いまどきWebマーケティングが不可欠なのは分かるが、強烈な競合に並べてバナーなんか出して、勝ち目はあるのか?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |








