netstat 概要
`netstat` は、システムのネットワーク活動に関するさまざまな情報を提供します。これは、サーバーの特定のポートが開いているか、どのプロセスがネットワーク接続を使用しているか、ルーティングパスが正しいかなどを診断するのに役立ちます。しかし `net-tools` パッケージの一部であり、IPv6 サポートが不完全であり、大規模システムではパフォーマンス問題があるため、`iproute2` パッケージの `ss` コマンドに置き換えられました。
netstat の主要な役割
`netstat` コマンドは主に以下の目的で使用されます:
主要な活用分野 (過去および一部のシステム)
- アクティブな接続の確認: 現在設定されているすべての TCP、UDP 接続とリスニングポートを表示します。
- ルーティングテーブルの確認: IP パケットが送信されるルートを定義するルーティングテーブルを表示します。
- ネットワークインターフェース統計: 各ネットワークインターフェースのパケット送信および受信の統計を提供します。
- プロセス-ポートマッピング: どのプロセスが特定のポートを使用しているかを確認します。
`netstat` vs `ss`
`netstat` は長い間使用されてきましたが、現在は `ss` コマンドがその役割を置き換えています。新しいシステムでは `ss` の使用を習慣化することが推奨されます。
- netstat: レガシーツール、`/proc` ファイルシステムベース、大規模接続時に遅くなる可能性あり、IPv6 サポート不完全。
- ss: 現代的で迅速、カーネルのソケット統計に直接アクセス、IPv6 完全サポート、より多くのフィルタリングオプションを提供。
netstat インストール (任意)
一部の最新の Linux ディストリビューション (例: Ubuntu 18.04 以降) では、デフォルトで `netstat` がインストールされていない可能性があります。必要に応じて `net-tools` パッケージをインストールして使用できます。
`netstat` インストール (Debian/Ubuntu)
sudo apt update
sudo apt install net-tools
Debian または Ubuntu ベースのシステムで `netstat` が含まれる `net-tools` パッケージをインストールするコマンドです。
主要な netstat コマンドオプション
`netstat` コマンドはさまざまなオプションを組み合わせて、必要なネットワーク情報を詳細にフィルタリングして表示できます。
1. 接続とポート情報
2. ルーティングテーブルと統計
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`netstat` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`netstat` コマンドのさまざまな活用例を通じて、システムのネットワーク接続と統計を確認する方法を学んでください。
すべてのアクティブな TCP 接続とリスニングポートを確認
sudo netstat -tulpn
最も一般的に使用される組み合わせで、TCP 接続とリスニングポートを数字アドレスで表示し、関連するプログラム名と PID も表示します。
すべてのリスニング (Listening) ポートのみを確認
sudo netstat -lntp
現在のシステムで外部接続を待機しているすべてのポート (TCP、UDP) を確認します。サーバーポートが適切に開いているか確認するのに便利です。
ルーティングテーブルの確認
netstat -rn
システムの IP ルーティングテーブルを数字形式で表示します。パケットがどのルートで送信されるかを確認できます。
特定のポートを使用しているプロセスの確認
sudo netstat -tulpn | grep :80
ポート `80` を使用している TCP 接続およびリスニングポートを持つプロセスの情報を確認します。 (ウェブサーバーの診断に便利)
ネットワークインターフェース別の統計確認
netstat -i
各ネットワークインターフェース (例: `eth0`, `lo`) の受信 (Rx) および送信 (Tx) パケット数、エラーなどを表示します。
全ネットワーク統計サマリー
netstat -s
TCP、UDP、IP など各ネットワークプロトコルに対する全体的な統計サマリーを表示します。