Windows Server 2016でnetstatのコマンド表示が遅い

Windows Server 2016でnetstatのコマンド表示が遅いという話になりました。ちなみにnetstatTCP/IP通信の状態を調べるのに使います。WindowsでもLinuxでも使えるコマンドなのでインフラエンジニアならよく利用するのではないかと思います。


私も通信がサーバーに来ているか、そのサーバーで通信の準備ができているかなどで使います。そして、Windows Server 2016でnetstatを実行すると名前解決を行って表示に時間がかかります。


すぐに表示させたい場合は、「-n」オプションをつけると名前解決を行わなくなるので、表示がかなり早くなります。
-n アドレスとポート番号を数値形式で表示します。

使うときはこんな感じです。

# netstat -n


急いでいる時とかは、上記がおすすめです。

 

最後にnetstatのオプションです。

 

 

>netstat ?

プロトコルの統計と現在の TCP/IP ネットワーク接続を表示します。

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]

-a すべての接続とリッスン ポートを表示します。
-b それぞれの接続またはリッスン ポートの作成に使われた実行可能
ファイルを表示します。場合により、よく知られた実行可能ファイル
が複数の独立したコンポーネントをホストすることもあり、この
場合、接続またはリッスン ポートの作成に使われたコンポーネント
群が表示されます。この場合、実行可能ファイル名は下に [] で表示
され、上には TCP/IP に到達するまで順に呼び出したコンポーネント
が表示されます。このオプションには時間がかかり、十分なアクセス
許可がないとエラーが発生することに注意してください。
-e イーサネットの統計を表示します。これは、-s オプションと併用で
きます。
-f 外部アドレスの完全修飾ドメイン名 (FQDN) を表示します。
-n アドレスとポート番号を数値形式で表示します。
-o 各接続に関連付けられたそれらを所有するプロセス ID を表示しま
す。
-p proto proto で指定されたプロトコルの接続を表示します。
proto は次のいずれかです:
TCPUDP、TCPv6、または UDPv6。
プロトコルごとの統計を表示するため、-s オプションと併用する場
合、proto は次のいずれかです:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP または UDPv6。
-q すべての接続、リッスン ポート、およびバインドされている非リッス
TCP ポートを表示します。バインドされている非リッスン ポート
は、アクティブな接続に関連付けられている場合と関連付けられてい
ない場合があります。
-r ルーティング テーブルを表示します。
-s プロトコルごとの統計を表示します。既定では、IP、IPv6、ICMP、
ICMPv6、TCP、TCPv6、UDP および UDPv6 の統計が表示されます。
-p オプションを使って、既定のプロトコルのサブセットを指定する
こともできます。
-t 現在の接続のオフロードの状態を表示します。
-x NetworkDirect の接続、リスナー、および共有エンドポイントを表示
します。
-y すべての接続の TCP 接続テンプレートを表示します。他のオプション
と併用することはできません。
interval 各表示で interval 秒間一時停止しながら、選択した統計を再表示
します。統計の再表示を停止するには、Ctrl+C を押してください。
interval が省略された場合、現在の構成情報を一度だけ表示します。