netstat(Network Statistics)は、ネットワーク接続、通信プロトコルの統計情報、ルーティングテーブル、インターフェースの状態などを表示するコマンドラインツールです。ほとんどのオペレーティングシステム(Linux、Windows、macOSなど)で利用可能で、ネットワークトラブルシューティングやモニタリングに広く使用されます。
このツールは、現在のネットワーク接続(例えば、TCPおよびUDP接続)をリストアップし、どのプログラムがどのポートを使用しているかを確認するのに役立ちます。これにより、ネットワークの異常やセキュリティ上の問題を特定できます。
netstatの主な用途
現在のネットワーク接続の確認
現在のTCP/IP接続(送信元と宛先のアドレス、ポート番号、接続の状態など)をリストアップし、ネットワークアクティビティを把握します。
ポート使用状況の確認
どのプロセスがどのポートを使用しているかを確認し、不審な通信や未使用ポートの特定に役立てます。
ネットワークインターフェースの統計
ネットワークインターフェースごとの送受信パケット数、エラー、ドロップなどの詳細な統計情報を表示します。
ルーティングテーブルの表示
現在のルーティング情報を表示し、ネットワークトラフィックの経路を確認します。
netstatの主なオプションと使い方
Linux/Unixでのオプション
netstat -a
すべての接続(リスニングと非リスニング)を表示します。netstat -t
TCP接続のみを表示します。netstat -u
UDP接続のみを表示します。netstat -l
現在リスニング中のソケット(ポート)を表示します。netstat -p
各接続に関連付けられたプロセスID(PID)とプログラム名を表示します。netstat -r
ルーティングテーブルを表示します。netstat -i
ネットワークインターフェースの情報を表示します。netstat -s
プロトコル別の統計情報を表示します。
Windowsでのオプション
netstat -a
すべてのアクティブな接続とリスニングポートを表示します。netstat -n
アドレスとポート番号を名前ではなく数値形式で表示します。netstat -o
各接続に関連するPIDを表示します。netstat -b
各接続に関連付けられたプログラムを表示します(管理者権限が必要)。netstat -e
ネットワークインターフェース統計を表示します。netstat -r
ルーティングテーブルを表示します。
netstatの例
現在のTCP接続を確認
netstat -t
このコマンドは、現在のTCP接続を一覧表示し、送信元、宛先、接続状態(例えばESTABLISHED
)を確認します。
プロセスごとのポート使用状況を確認
netstat -p
Linux環境で、各ネットワーク接続に関連付けられたプロセスを確認します。
すべてのアクティブな接続を表示
netstat -a
このコマンドは、すべてのアクティブなTCPおよびUDP接続を表示します。
ルーティングテーブルを確認
netstat -r
現在のネットワークトラフィックのルーティング情報を表示します。
WindowsでPID付きのリスニングポートを確認
netstat -ano
Windows環境で、すべてのリスニングポートをPID(プロセスID)付きで表示します。
netstatのメリット
- ネットワークトラブルシューティング 不審な通信、未使用のポート、または切断された接続を迅速に特定できます。
- セキュリティ監視 不正なプロセスや不明なIPアドレスへの通信を特定し、マルウェア感染の兆候を検出できます。
- リアルタイムモニタリング 接続状態をリアルタイムで把握し、ネットワークパフォーマンスを改善できます。
- 簡単な利用 コマンドラインベースのツールであり、特別なセットアップを必要としないため、すぐに使用可能です。
netstatのデメリット
- 詳細な情報が限られる 高度なトラフィック解析が必要な場合、Wiresharkやtcpdumpのような専用ツールに比べると情報量が少ないです。
- 廃止の可能性 一部のシステムでは、
ss
(socket statistics)やip
コマンドが推奨される場合があります。Linuxの新しいディストリビューションではnetstatが非推奨になることもあります。
代替ツール
- ss(Linux) より高速で詳細なネットワーク情報を提供する、netstatの代替ツール。
- Wireshark 高度なパケット解析ツールで、ネットワークトラフィックを視覚的に分析可能。
- tcpdump ネットワークトラフィックをキャプチャし、詳細な解析が可能なCLIツール。
まとめ
netstatは、ネットワーク接続、ポート使用状況、トラフィック統計を素早く確認するための便利なツールです。ネットワークトラブルシューティングやセキュリティモニタリングに役立ち、簡単なコマンド操作で実行できます。ただし、高度な解析や最新機能が必要な場合は、他のツールを併用することが推奨されます。ネットワーク管理やセキュリティ対策において、netstatは基本的な知識と操作方法を習得しておくべき重要なツールです。