【ネットスタット】

netstat とは?

最終更新:
💡 接続と待受けを調べ、次の確認につなげる

接続、待受けソケット、ネットワーク統計などを表示するコマンド。WindowsとLinuxでオプションの意味が異なり、待受けの表示だけでは外部から到達できることや通信の安全性は証明できません。

📌 このページのポイント
netstat:接続と待受けを調べるWindows:netstat -ano接続・待受け / 数値アドレスPIDも表示Linux:netstat -tlnpTCP待受け / 数値表示PID・プログラム名TCP:LISTENは接続待ちESTABLISHEDは接続成立待受け ≠ 外から到達可能 / 成立 ≠ 安全権限とOSを確認。UDPはTCPと同じ状態ではない
オプションはOSで異なり、同じ-pでも意味が違います。表示をPID等と照合し、Linuxではssやip routeなどの代替も用途に応じて使います。
ひよこ ひよこ
netstatで何が見える?
ペンギン先生 ペンギン先生
現在の接続や待受け、経路、統計などを調べるコマンドだよ。何を表示するかはオプションで変わる。待受けが見えても、ファイアウォールや経路を通って外部から到達できるかは別に確認するんだ。
ひよこ ひよこ
Windowsでは何から見る?
ペンギン先生 ペンギン先生
netstat -anoなら待受けを含む一覧を数値のアドレス・ポートとPID付きで表示できる。PIDをタスクマネージャーなどと照合しよう。実行ファイルを表示する-bは十分な権限が必要で、時間がかかる場合もあるよ。
ひよこ ひよこ
Linuxも同じオプション?
ペンギン先生 ペンギン先生
違うよ。netstat -tlnpならTCPの待受けを数値表示し、PIDとプログラム名も表示する。ただし他人のプロセスを見るには権限が必要。同じ-pでもWindowsではプロトコルを指定する。Linuxのコマンド例をそのままWindowsへ移さないでね。
ひよこ ひよこ
TCPの状態はどう読む?
ペンギン先生 ペンギン先生
LISTENは接続待ち、ESTABLISHEDは接続が成立している状態。通信内容が安全という意味ではないよ。TIME_WAITは閉じた後のパケットなどを扱う待機、CLOSE_WAITは相手が閉じた後にこちらのソケットが閉じるのを待つ状態。多いという理由だけでバグと断定せず、時間変化やアプリの処理を確認しよう。
ひよこ ひよこ
UDPにもESTABLISHEDがある?
ペンギン先生 ペンギン先生
TCPと同じ接続状態で読むものではないよ。UDPは通常、接続状態の欄が空になる。通信相手や待受けの意味はプロトコルごとに確認するんだ。
ひよこ ひよこ
今もLinuxで使うべき?
ペンギン先生 ペンギン先生
net-toolsのマニュアルは接続の調査にはss、経路にはip routeなどの代替を案内している。大量のソケットではssを使うよう勧めているよ。既存の手順を読むためにnetstatを理解する価値はあるけれど、用途と環境で選ぼう。
もっと詳しく知りたい人へ

知らないIPやポートがあれば不正通信?

表示だけでは断定できません。PID・実行ファイル・起動元・アプリの役割を照合し、必要ならログや監視情報と合わせて調べます。netstatは通信内容や過去の全履歴を記録するツールではありません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「netstat」って出てきたら「接続・待受け・統計を調べるコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「network statistics」 = ネットワーク統計
💬 接続だけでなく経路や統計も表示できます。同じ名前でもOSによって使えるオプションと出力が異なります。

参考資料

← 用語集にもどる