ホーム > ネットワーク管理 > netstat

netstat コマンドガイド: ネットワーク接続と統計の確認 (レガシー)

`netstat` コマンド (network statistics) は、Linux および Unix 系のオペレーティングシステムで、ネットワーク接続、ルーティングテーブル、インターフェース統計、masquerade 接続などを表示するために使用されます。システムのネットワーク状態を監視し、問題を解決するための便利なツールです。**しかし、現代の Linux システムでは `ss` (socket statistics) コマンドが `netstat` を置き換えており、より迅速で強力な機能を提供しています。したがって、`ss` コマンドの使用を推奨します。** このガイドを通じて `netstat` の基本的な使い方と、なぜ `ss` に切り替えるべきかを理解してください。

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 など各ネットワークプロトコルに対する全体的な統計サマリーを表示します。


同じカテゴリのコマンド