Categories: linux

Linuxでネットワーク接続を確認するならこれ!netstatコマンドの使い方と活用法

ネットワークのトラブルシューティングや、サーバーの通信状況の確認において欠かせないのが「ネットワーク接続の状態を表示するコマンド」です。
Linuxにはさまざまなネットワーク関連ツールがありますが、なかでも古くから使われてきたのが netstat コマンドです。
このコマンドは、TCPやUDPの接続状況、リスニングポート、ルーティングテーブル、インターフェースの統計情報などを一括して確認できる便利なツールです。

この記事では、netstat コマンドの基本的な使い方から、具体的な活用例までをわかりやすく解説していきます。ネットワーク管理の第一歩として、ぜひ覚えておきたいコマンドです。


netstatとは?概要と役割

netstat は「network statistics(ネットワーク統計)」の略で、ネットワークに関するさまざまな情報を表示するコマンドです。
具体的には、次のような情報を確認できます:

  • 現在のネットワーク接続(TCP/UDP)
  • 使用中のポートとリスニング状態
  • ルーティングテーブル
  • ネットワークインターフェースの統計情報
  • マルチキャストのサブスクリプション情報

古くから利用されてきたコマンドですが、現在ではss コマンドやip コマンドに置き換えられつつあります。ただし、netstat は今でも多くのシステムで利用可能で、特にネットワークの概要を一目で把握したいときには有効です。


netstatコマンドの基本的な使い方

まずは基本的な使い方を紹介します。ターミナルで以下のように入力するだけで、すべての接続情報が表示されます。

netstat

ただし、何もオプションをつけないと膨大な情報が表示されるため、以下のように目的に応じてオプションを使い分けることが重要です。


使用頻度の高いオプション解説

以下に、よく使われるオプションとその意味を紹介します。

オプション内容
-aすべての接続とリスニングポートを表示
-tTCP接続のみを表示
-uUDP接続のみを表示
-nホスト名やサービス名の代わりに数値で表示
-lリスニング状態のソケットのみ表示
-p各接続に関連付けられたプロセスIDとプログラム名を表示
-rルーティングテーブルを表示
-iネットワークインターフェースの統計情報を表示

例えば、TCPでリスニングしているポートを確認したい場合は、以下のように入力します。

netstat -tln

プロセス名も含めて確認したい場合は -p を追加します。

netstat -tlnp

接続中のポートとプログラムを確認する

サーバーにアクセスできないときや、不審な接続があるときに便利なのが -ap オプションです。

sudo netstat -ap

このコマンドを使うことで、現在リスニング中のポートや、それに紐づいているプロセスが一目で確認できます。

実行結果の例:

tcp        0      0 0.0.0.0:22            0.0.0.0:*             LISTEN      784/sshd
tcp 0 0 192.168.1.10:80 192.168.1.5:54321 ESTABLISHED 1356/nginx

上記のように、ポート22でsshdが待ち受け、ポート80でnginxが外部と通信していることがわかります。


ルーティングテーブルを確認する

ネットワークの経路情報を知りたい場合は -r オプションを使います。

netstat -r

このコマンドは、route コマンドとほぼ同じ結果を返します。

実行例:

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

デフォルトゲートウェイや、各サブネットへのルートがどのインターフェース経由で設定されているかがわかります。


インターフェースの統計情報を確認する

インターフェース単位で、受信・送信パケットの数やエラー数などの統計情報を見るには、以下のコマンドを使います。

netstat -i

この出力は、ネットワークの健全性をチェックするのに役立ちます。


実際の活用シーン

1. サーバーがポート80で待ち受けているか確認したいとき

netstat -tlnp | grep :80

nginxやApacheなどのHTTPサーバーが動作しているか、確認できます。


2. 不審な接続を調べたいとき

netstat -tunap

外部への不審な接続がないかをチェックするのに便利です。特にリモートアドレスが不審なIPの場合、すぐに調査対象になります。


3. インターフェースの送受信トラフィックを把握したいとき

netstat -i

トラフィックが極端に多い、あるいはエラーが多いインターフェースがあれば、ハードウェア障害や設定ミスの可能性もあります。


注意点:netstatは非推奨になりつつある?

最近のLinuxディストリビューションでは、netstat コマンドは非推奨(deprecated)とされ、ss コマンドや ip コマンドへの移行が進んでいます。
たとえば、ss コマンドは netstat よりも高速で詳細な情報を表示できます。

以下は同等のコマンド例です。

ss -tln

とはいえ、netstat は直感的で学習コストも低いため、今でも多くの現場で重宝されています。特に古いシステムでは netstat しか入っていないこともあるため、知っておいて損はありません。


まとめ

netstat コマンドは、Linuxでネットワークの状態を調査するうえで非常に強力なツールです。
TCP/UDP接続の確認、ポートの監視、ルーティングテーブルの把握、インターフェースの統計取得など、さまざまな用途に活用できます。

近年ではssipなどの新しいコマンドが主流になりつつありますが、netstat は今でも多くのシステム管理者にとって心強い味方です。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。