netstatとは
netstat(ネットスタット)は、接続中の通信、待受ポート、経路情報などを表示するコマンドです。名称はnetwork statistics(ネットワーク・スタティスティクス)に由来し、OSカーネルが持つソケット、経路制御、インターフェース、プロトコルカウンター等を選択肢に応じて表示します。
Windows、Linuxのnet-tools、BSD、macOS等に同名コマンドがありますが、既定表示と選択肢は異なります。Windowsで引数なしならアクティブTCP接続、Linux net-tools版では開くソケットを中心に表示するなど、対象OSの案内を基準にします。
netstatはカーネル内の表をその時点で写すツールです。ネットワーク上を流れるパケットそのものをキャプチャーするツールではなく、過去の接続履歴を完全保存するログでもありません。

選択肢で観測対象を切り替える
ローカルエンドポイント、リモートエンドポイント、ESTABLISHED等のTCP状態を表示します。
どのアドレス・ポートでアプリケーションが新規接続を受け付けるかを示します。
ローカルアドレス・ポートを中心に表示し、TCPと同じ状態列を期待しません。
権限とOS選択肢が許せば、処理IDや実行ファイルを対応付けられます。
宛先、マスク・プレフィックス、ゲートウェイ、インターフェース、指標等を表示します。
バイト・パケット、エラー、TCP・UDP・IP・ICMP統計等を差分で調べます。
ローカルと外部エンドポイントを読む
TCPの行にはローカルアドレスとポート、外部またはリモートのアドレスとポート、状態が並びます。クライアント接続ではローカル側が一時ポート、リモート側がサーバーのwell-known port(ウェルノウン・ポート)になることが多く、サーバーの待ち受けソケットではローカル側がサービスポートです。
0.0.0.0や::で待受けしていれば複数ローカルアドレスを対象にし、127.0.0.1や::1なら原則ローカルホスト内だけです。ただし実際に外部から届くかはファイアウォール、経路、NAT、コンテナー、クラウドセキュリティ規則にも依存します。
LISTENINGはアプリケーションの準備状態
LISTENINGはTCPソケットが新しい接続を受け付ける状態です。「Internetへ公開済み」や「正常応答する」と同義ではありません。処理がポートを割り当てしていても、ファイアウォールが遮断し、アプリケーション内部がエラーを返す場合があります。
UDPにはTCPのような接続確立がないため、待ち受け相当のソケットでもLISTENING状態を表示しません。状態列が空だから停止しているとは判断せず、まずプロトコルを確認します。
TCP状態は通信の段階
ESTABLISHEDは双方で接続が成立、SYN_SENT・SYN_RECEIVEDは確立途中、FIN_WAIT・CLOSE_WAIT・LAST_ACKは終了処理、TIME_WAITは遅れて届くセグメントとの混同を防ぐ待機です。
TIME_WAITが多数あることだけで障害とは言えません。CLOSE_WAITが継続増加する場合はアプリケーションがピアのclose後にソケットを閉じていない可能性がありますが、観測時間、トラフィック量、プログラム設計を合わせます。
名前解決を切ると元のエンドポイントを見やすい
数値表示選択肢を使わないと、IPアドレスをホスト名へ、ポート番号をサービス名へ変換して表示する実装があります。名前変換は読みやすい一方、DNS待ちで遅くなり、サービス名が実際の処理と同じとは限りません。
問題調査ではまずnumeric表示でアドレス・ポートを保存し、必要な項目だけ後から名前へ変換します。Windowsの-n、Unix系の同名選択肢など、実装の案内を確認します。
処理対応は権限と時点に依存する
Windowsの-oはPID、-bは各接続・待ち受けソケットの作成に関わる実行ファイルを表示できます。ただし、-bには十分な権限が必要で、表示に時間がかかる場合があります。Unix系でもPID・プログラム表示には他の利用者の情報を読む権限が必要です。
短命処理は表示前に終了し、PIDは後で再利用されます。重要な調査では出力時刻、処理一覧、サービス管理者、アプリケーションログを同時に採ります。
経路表示は経路追跡ではない
経路表選択肢はローカルカーネルが持つ宛先プレフィックス、ゲートウェイ、インターフェース等を表示します。Internet途中のルーター列を測るtracerouteとは別です。
経路表は候補と方針の一部で、送信元アドレス、方針規則、名前空間、VPN、マーク等が選択へ影響します。Linuxではip経路の方が現代の詳細を扱えます。
カウンターは累積値とサンプリング間隔で読む
インターフェースstatisticsやプロトコルstatisticsは、送受信バイト・パケット、エラー、discard、TCP再送等の累積カウンターです。一回の大きな値より、二回の差分と経過時間、カウンターリセットやwrapを確認します。
Windows netstatは間隔を指定して同じ種類の表示を繰り返せます。ただし大量行が流れるだけでは変化追跡が難しく、時刻付きログや監視ツールを併用します。
Linuxではss・ipへ役割が移っている
Linuxのnet-tools版netstatは従来ツールで、多数ソケットの列挙が遅い場合があります。ソケットはss、経路はip経路、インターフェースはipリンクへ機能を分けるのが現在の一般的な方法です。
Windowsではnetstatが標準コマンドとして引き続き提供されています。「netstatは廃止」と全OSへ一般化せず、OSごとの実装を見ます。
netstatは、カーネルが持つ接続、待ち受けソケット、経路、通信統計などをオプションで切り替えて表示する確認ツールです。プロトコル、エンドポイント、状態、PIDを読めますが、外部から到達できるか、パケット内容、過去の履歴までは分かりません。
Windows netstatのactive connection、listener、PID、routing・interface・protocol statistics:Microsoft Learn「netstat」、Linux net-tools版とss推奨:netstat(8) manual page