注意 |
待機ポートのセットを表します。
タグ属性
次に示すXML属性はタグ自体の属性であり、変更監視ルールによって監視されるエンティティの属性ではありません。
属性
|
説明
|
必須
|
初期設定値
|
設定できる値
|
onChange
|
リアルタイムで監視するかどうかを示します。
|
いいえ
|
false
|
true、false
|
エンティティセットの属性
次に示すエンティティの属性は、変更監視ルールによって監視可能な属性です。
- [作成:] Windowsのみ - XP SP2以降およびServer 2003 SP1以降が必要です。 Windows APIのGetExtendedTcpTable()関数またはGetExtendedUdpTable()関数によって返されます。このTCPまたはUDPリンクを作成したバインド操作がいつ発生したかを示します。
- [Listeners:] このプロトコルのアクティブなリスナーの数、IPアドレス、およびポート番号の組み合わせ。これは、指定されたポートにバインドされて待機しているソケットの数を反映しており、プロセスが複数のソケットをポートにバインドしている場合は、そのポートで待機しているプロセスの数よりも多くなることがあります。指定されたポートに1つのソケットのみがバインドされている場合、この属性には値はありません。
- [パス:] (Windowsのみ - XP SP2以降およびServer 2003 SP1以降が必要) ポートを所有するモジュールのフルパスがある場合は、そのフルパスを指定します。 Windowsでは、これはWindows APIのGetOwnerModuleFromXxxEntry()関数から取得されます。 Microsoftのドキュメントによると、接続テーブルのエントリを所有者モジュールに解決することがベストプラクティスです。
- [プロセス:] (Windowsのみ - XP SP2以降およびServer 2003 SP1以降が必要) ポートを所有するモジュールの短縮名を指定します。 Windowsでは、これはWindows APIのGetOwnerModuleFromXxxEntry()関数から取得されます。 Microsoftのドキュメントによると、接続テーブルのエントリを所有者モジュールに解決することがベストプラクティスです。所有者モジュール名として、プロセス名 (「svchost.exe」など)、サービス名 (「RPC」など)、またはコンポーネント名 (「timer.dll」など) が返される場合があります。
- [ProcessId:] (Windowsのみ - XP SP2以降およびServer 2003 SP1以降が必要) このポートのバインドを発行したプロセスのPIDを示します。
- [ユーザ: ] (Linuxのみ) ポートを所有するユーザを指定します。
「key」の意味
このkeyは、次の形式をとります。
<PROTOCOL>/<IP ADDRESS>/<PORT>
例:
tcp/172.14.207.94/80 udp/172.14.207.94/68
IPV6
IPアドレスがIPv6である場合、keyも同じ形式になりますが、プロトコルはTCP6またはUDP6です。このIPアドレスは、getnameinfoコマンドによって返される、次のようなIPv6表記となります。
tcp6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/80 udp6/3ffe:1900:4545:3:200:f8ff:fe21:67cf/68
「key」の照合
これは階層キーではないため、**は適用されません。 Unixスタイルのグロブマッチングは、*と?を使用して実行できます。次のパターンは、IPアドレス72.14.207.90~72.14.207.99のポート80に一致します。
*/72.14.207.9?/80
次のパターンは、72.14.207.2、72.14.207.20~72.14.207.29および72.14.207.200~72.14.207.255のIPアドレスのポート80に一致します。
*/72.14.207.2*/80
次のパターンは、任意のIPアドレスのポート80に一致します。
*/80
次の例では、待機ポートにおける変更を監視しますが、IPv4およびIPv6のTCPのポート80は無視します。
<PortSet> <include key="*"/> <exclude key="tcp*/*/80"/> </PortSet>
サブエレメント
- [含む]
- [除外]
参照変更監視ルールの言語包含と除外、および許可される属性とサブ要素の概要については、を参照してください。ここには、このEntitySetクラスに関連するincludeとexcludeに固有の情報のみが含まれます。
ポートセットの包含および除外の特殊属性
ポートのその他のさまざまな属性を、包含および除外機能のテストで使用できます。これらのテストでは、値をポートの属性の値と比較します。さまざまな属性に対するプラットフォームのサポートに注意してください。すべての属性がプラットフォーム間またはプラットフォームのリビジョン間で使用できるわけではありません。機能テストでは、Unixのグロブスタイルの*と?を使用したワイルドカードがサポートされます。パス区切り文字やその他の文字は正規化されません。属性の値と単純に照合されます。
[パス]: ポートのパス属性に対してワイルドカードが一致するかどうかを確認します。次の例では、メインのIISバイナリを実行しているプロセスが所有するポートを監視します。
<PortSet> <include path="*\system32\inetsrv\inetinfo.exe"/> </PortSet>
[プロセス]: ポートのプロセス属性に対するワイルドカードの一致を確認します。次の例では、svchost.exeまたはoutlook.*バイナリで実行されているすべてのポートが所有するポートを監視します。
<PortSet> <include process="svchost.exe"/> <include process="outlook.\*"/> </PortSet>
[ユーザ]: ポートのユーザ属性と一致するワイルドカードを確認します。次の例では、スーパーユーザ (root) が所有するUnixシステムのポートを監視します。
<PortSet> <include user="root"/> </PortSet>