ホーム テクノロジー ウィンドウズ 7 Windows での netstat コマンドの使用法と例

7 Windows での netstat コマンドの使用法と例


netstat は、トラブルシューティングに便利なコマンド ライン ネットワーク ツールです。クロスプラットフォーム ユーティリティなので、Linux、macOS、または Windows で使用できます。

netstat は次のような場合に非常に便利です。

  • 受信および送信ネットワーク接続を表示する
  • ルーティングテーブルを表示する
  • ネットワークインターフェース数の表示
  • ネットワークプロトコル統計の表示

はじめましょうか…

すべての接続を表示

netstat から始めるために、すべての接続を表示するコマンドを見てみましょう。

 netstat -a

上記のコマンドを入力して Enter キーを押します。以下に示すように、さまざまな状態のアクティブな接続がすべて表示されます。

 C:\Windows\system32>netstat -a

Active Connections

Proto Local Address Foreign Address State
TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 LISTENING
TCP 192.168.43.15:52484 153:https ESTABLISHED
TCP 192.168.43.15:52532 ec2-13-228-49-204:https TIME_WAIT
UDP [fe80::998c:d2d:17df:65d9%12]:58903 *:*

Proto、Local Address、Foreign Address、Stateを含むヘッダーが表示されます。それらについての簡単な情報を見てみましょう。

  • Proto – ソケットのプロトコル タイプ (TCP、UDP など) を定義します。
  • ローカル アドレス – コンピュータの IP アドレスとポート、ソケットのローカル エンドが表示されます。
  • 外部アドレス – コンピュータが接続されているリモート コンピュータ、つまりソケットのリモート エンドを表示します。
  • 状態 – ソケットの状態 (LISTENING、ESTABLISHED、CLOSE_WAIT、TIME_WAIT) を定義します。

さまざまな方法で接続をフィルタリングできます。見てみましょう。

確立された接続のみを表示

接続情報で状態を確認しました。以下の構文を使用して、Windows サーバーとの間で確立されたすべての接続を表示できます。

 netstat | findstr ESTABLISHED
  C:\Windows\system32> netstat | findstr ESTABLISHED
 TCP 172.16.179.128:49375 a23-77-202-113:http ESTABLISHED
C:\Windows\system32>
 

注: LISTEN、CLOSE_WAIT、TIME_WAIT を表示するには、次のように使用します。

LISTENING状態にある接続を確認するには、前のコマンドのESTABLISHEDキーワードをLISTENINGに変更します。次のように、リスニング状態にある接続に関する情報を取得します。

 netstat | findstr LISTENING
  C:\Windows\system32> netstat | findstr LISTENING
  TCP 192.168.43.15:139 DESKTOP-A0PM5GD:0 LISTENING 

同様に、次のコマンドを実行して、 CLOSE_WAIT状態にあるすべての接続を表示します。

 netstat | findstr CLOSE_WAIT
  C:\Windows\system32> netstat | findstr CLOSE_WAIT
  TCP 192.168.43.15:52581 ec2-52-1-183-160:https CLOSE_WAIT
  TCP 192.168.43.15:52584 ec2-34-227-121-63:https CLOSE_WAIT 

最後に、 TIME_WAITフラグを使用して、 TIME_WAIT状態にあるすべての接続に関する情報を取得します。

 netstat | findstr TIME_WAIT
  C:\Windows\system32> netstat | findstr TIME_WAIT
 TCP 192.168.43.15:52590 server-13-33-179-97:https TIME_WAIT 

ポート番号で使用されるPIDを表示

すべての接続は内部プロセスです。そして、すべてのプロセスには ID があり、それはPIDと呼ばれます。次のコマンドを使用して、すべてのソケット接続の PID を確認できます。

 netstat -o

上記のコマンドは、PID を持つすべての接続を表示します。コマンドを実行して結果がどのように得られるかを見てみましょう。

  C:\Windows\system32> netstat -o

Active Connections

Proto Local Address Foreign Address State PID
TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676
TCP 192.168.43.15:50733 40.90.189.152:https ESTABLISHED 10556 

PIDという追加の列が追加されました。そしてそれはプロセス識別子です。

どの PID が特定のポート番号を使用しているかを調べる必要がある場合に非常に便利です。

 netstat –o | findstr $portnumber

上記のコマンドを使用すると、次の情報が表示されます。

  C:\Windows\system32> netstat -o | findstr 50664
  TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676 

すべてのプロトコルの統計を表示する

受信ヘッダー エラー、受信アドレス エラー、破棄されたパケットなどを確認する必要がある場合に役立ちます。IPv4、IPv6、ICMPv4、ICMPv6、TCP、UDP などの統計が一覧表示されます。

 netstat –s

以下に示すように、すべてのプロトコルの統計が表示されます。

  C:\Windows\system32> netstat -s
IPv4 Statistics

Packets Received = 1097370
Received Header Errors = 0
Received Address Errors = 9
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 1425
Received Packets Delivered = 1098173
Output Requests = 743601
Routing Discards = 0
Discarded Output Packets = 43
Output Packet No Route = 23
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0

IPv6 Statistics

Packets Received = 24
Received Header Errors = 0
Received Address Errors = 0
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 208
Received Packets Delivered = 519
Output Requests = 1507
Routing Discards = 0
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0

ICMPv4 Statistics

Received Sent
Messages 52 143
Errors 0 0
Destination Unreachable 52 143
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echo Replies 0 0
Echos 0 0
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
Router Solicitations 0 0
Router Advertisements 0 0

ICMPv6 Statistics

Received Sent
Messages 0 25
Errors 0 0
Destination Unreachable 0 0
Packet Too Big 0 0
Time Exceeded 0 0
Parameter Problems 0 0
Echos 0 0
Echo Replies 0 0
MLD Queries 0 0
MLD Reports 0 0
MLD Dones 0 0
Router Solicitations 0 15
Router Advertisements 0 0
Neighbor Solicitations 0 5
Neighbor Advertisements 0 5
Redirects 0 0
Router Renumberings 0 0

TCP Statistics for IPv4

Active Opens = 4405
Passive Opens = 5
Failed Connection Attempts = 164
Reset Connections = 347
Current Connections = 19
Segments Received = 980542
Segments Sent = 674787
Segments Retransmitted = 5759

TCP Statistics for IPv6

Active Opens = 48
Passive Opens = 10
Failed Connection Attempts = 38
Reset Connections = 2
Current Connections = 0
Segments Received = 680
Segments Sent = 552
Segments Retransmitted = 128

UDP Statistics for IPv4

Datagrams Received = 117977
No Ports = 1385
Receive Errors = 1
Datagrams Sent = 54516

UDP Statistics for IPv6

Datagrams Received = 1036
No Ports = 208
Receive Errors = 0
Datagrams Sent = 1131 

エラーをすぐに見つけるには、構文を使用できます。

 netstat -s | findstr Errors 
 C:\Windows\system32> netstat -s | findstr Errors
 Received Header Errors = 0
 Received Address Errors = 0
 Received Header Errors = 0
 Received Address Errors = 0
 Errors 0 0
 Errors 0 0
 Receive Errors = 0
 Receive Errors = 0
C:\Windows\system32> 

上記のコマンドは、すべてのプロトコルの統計からすべてのエラーをフィルタリングします。

ルーティング情報を表示する

ルート テーブルを表示するには、次の構文を使用できます。次の構文もすべてのインターフェイスをリストします。

 netstat –r

上記のコマンドを使用すると、以下に示すようにルーティングに関する情報が表示されます。

  C:\Windows\system32> netstat -r
 
 ===========================================================================
Interface List
4...8c 16 45 32 4d 3c ......Realtek PCIe GBE Family Controller
16...d4 6d 6d 27 8a 9a ......Microsoft Wi-Fi Direct Virtual Adapter
5...d6 6d 6d 27 8a 99 ......Microsoft Wi-Fi Direct Virtual Adapter #2
12...d4 6d 6d 27 8a 99 ......Intel(R) Dual Band Wireless-AC 3165
10...d4 6d 6d 27 8a 9d ......Bluetooth Device (Personal Area Network)
1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.15 55
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.43.0 255.255.255.0 On-link 192.168.43.15 311
192.168.43.15 255.255.255.255 On-link 192.168.43.15 311
192.168.43.255 255.255.255.255 On-link 192.168.43.15 311
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.43.15 311
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.43.15 311
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 10.30.28.1 Default
===========================================================================

IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 331 ::1/128 On-link
12 311 fe80::/64 On-link
12 311 fe80::998c:d2d:17df:65d9/128
On-link
1 331 ff00::/8 On-link
12 311 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
 

インターフェース統計の表示

すべてのインターフェイスのステータスを表示するには、次の構文を使用できます。これにより、受信および送信の詳細が表示されます。

 netstat -e 
 C:\Windows\system32> netstat -e
Interface Statistics
 Received Sent
Bytes 8988576 2105244
Unicast packets 12972 11880
Non-unicast packets 0 0
Discards 0 0
Errors 0 0
Unknown protocols 0
C:\Windows\system32> 

外部アドレス (リモート ホスト) の完全修飾ドメイン名を表示する

いくつかの問題を追跡していて、リモート ホストの FQDN を知りたい場合は、次の構文を使用できます。

 netstat –f

上記のコマンドを実行すると、次のような結果が表示されます。

  C:\Windows\system32> netstat -f
Proto Local Address Foreign Address State
TCP 192.168.43.15:50664 40.90.189.152:https LISTENING
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
 

注:以下のように、 findstr構文を組み合わせて正確な結果を表示できます。

 netstat –f | findstr ESTABLISHED

上記のコマンドは接続をフィルタリングし、確立された接続のみを表示します。例を見てみましょう。

  C:\Windows\system32> netstat -f | findstr ESTABLISHED
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED
 

次のコマンドを使用して、ドメインを使用して接続をフィルタリングできます。

 netstat –f | findstr $domainnameifyouknow

コマンドでドメインを指定すると、次のようにフィルターされた接続が表示されます。

  C:\Windows\system32> netstat -f | findstr ec2-52-202-6-97.compute-1.amazonaws.com
TCP 192.168.43.15:52573 ec2-52-202-6-97.compute-1.amazonaws.com:https ESTABLISHED 

これが Windows での netstat コマンドの使用方法に慣れるのに役立つことを願っています。 Windows 管理の学習に興味がある場合は、このコースをチェックすることをお勧めします。

「 7 Windows での netstat コマンドの使用法と例」についてわかりやすく解説!絶対に観るべきベスト2動画

Windows11●Netstatコマンド●ネットワーク環境を●監視する●超簡単な方法
【ネットワーク基礎講座7(Linux基礎講座7)】ネットワーク監視コマンド1 / ping / route / ネットワーク設定ファイル【6:52】