うたカモ技術ブログ

Linux ネットワーク

【ネットワークコマンド】    通信ソケット確認ツール netstatの使い方

post:     update: 

今回は、Linuxでネットワーク状態を確認するときに使うnetstatコマンドについて紹介します。

サーバーに接続できない、ポートが待ち受けていない、どのプロセスが通信しているか分からない、といった場面で netstatは役に立ちます。

後継のssコマンドの台頭で使用頻度が下がってきていますが、古いLinux環境や組み込み機器向けのLinuxでは現役の重要ツールです。

この記事では、UbuntuなどのLinux環境を前提に、netstatのインストール方法から実践的な確認手順までをまとめます。

目次

netstatとは

netstatは、ネットワーク接続、待受ポート、ルーティングテーブル、インタフェース統計などを確認できるコマンドです。

Linuxでは昔から使われてきた代表的な確認ツールです。

ただし、現在は後継のssコマンドの台頭で使用頻度が下がってきてもいます。

とは言え、古いLinux環境や組み込み機器向けLinuxではまだまだ現役のツールですので、知っていて損はありません。

(まあ、組み込み機器向けのLinuxの場合、そのnetstatですらインストールされていないときもありますが。。。)

netstatコマンドのインストール

インストール確認

まず、現在の環境でnetstatが使えるか確認します。

which netstat
netstat --version

インストール

次のコマンドでインストールします。
netstatnet-toolsパッケージに含まれます。

sudo apt update
sudo apt install net-tools

netstatの使い方

ここでは、基本的な確認コマンドから実際の用途別の見方までをまとめて紹介します。

全ソケットを表示する

netstat -a

TCP/UDPの接続中ソケットと待受ソケットをまとめて確認できます。

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

netstat -rn

デフォルトの経路を見たい場合は以下を実行します。

netstat -rn | grep '^0.0.0.0'

または

netstat -r | grep '^default'

数値表示の -rn では、IPv4のデフォルト経路が 0.0.0.0 として見えることがあります。-n を外した表示では、環境によって default と表示されます。

このように、デフォルトゲートウェイや経路情報を数値表示で確認できます。

インタフェース統計を確認する(または、NICのエラーやドロップを確認する)

netstat -i

インタフェースごとのパケット送受信、エラー、ドロップ状況の確認に使えます。

サーバーが待受しているか確認する

sudo netstat -lntp

WebサーバーやSSHサーバーが想定ポートでLISTENしているかを確認します。

出力結果のローカルアドレス欄に 0.0.0.0:: が表示されている場合は、特定のIPアドレスではなく全インタフェース向けに待受していることを意味します。

余談:私は良くこのオプションを使っています。

私は仕事でL7プロトコルを設計し、特殊なネットワーク制御ソフトウェアを開発することもあります。そのような場面では、特定ネットワーク内のIPアドレスだけに対してLISTENしているかをよく確認します。

このような要件があるにもかかわらず、0.0.0.0:: のように全インタフェース向けの待受になっている表示を見ると冷や汗が出ます。ネットワーク制御ソフトウェアの開発者目線では、そのような想定外の待受を素早く見抜くために netstat を使います。

※今回言った内容をC言語ソフトウェアベースで考えると、IPv4ではソケット通信で INADDR_ANY を使ったか否かという話になります。IPv6では in6addr_any / IN6ADDR_ANY_INIT に相当します。

特定ポートを掴んでいるプロセスを調べる(例:8080)

sudo netstat -lntp | grep ':8080 '

ポート競合や起動失敗時に、どのプロセスがポートを使用しているかを確認できます。

接続が確立している通信だけ見る

sudo netstat -antp | grep ESTABLISHED

既に確立しているTCP接続だけを確認したいときに使います。待受状態ではなく、実際に通信中の接続を見たい場面向けです。

UDPサービスの待受を確認する(例:53 / 123)

例としてDNS(53/udp)やNTP(123/udp)の待受確認に使えます。

sudo netstat -lnup | grep ':53 '
sudo netstat -lnup | grep ':123 '

ssコマンドとの違い

現行Linuxではssコマンドの方が高速で情報量も多いため、日常運用ではssが選ばれることが増えています。

一方で、既存環境の手順書や過去記事ではnetstatが前提になっていることが多く、 読み替えのために基本操作を把握しておく価値があります。

読み替えの例

# netstat
sudo netstat -lntp

# ss
sudo ss -lntp

おわりに

この記事では、netstatコマンドの基本的な使い方と、運用でよく使う確認ポイントを紹介しました。

netstatは古典的なツールですが、接続・待受・経路・統計を一通り確認できるため、トラブルシュートの初動で今も有効です。

必要に応じてssコマンドも併用しながら、状況に合わせて使い分けていきましょう。

参考文献

ガジェット記事も読む

スマートリングおすすめ5選 睡眠・健康管理に合う選び方

スマートリングおすすめ5選 睡眠・健康管理に合う選び方

スマートリングおすすめ5選を紹介します。睡眠、心拍、回復スコア、対応スマホ、サブスク、サイズ選びを比較し、健康管理に合う選び方を整理します。

信頼性が売り! 大手・老舗PCメーカーが販売するミニPC 5選

信頼性が売り! 大手・老舗PCメーカーが販売するミニPC 5選

ASUS、マウスコンピューター、Lenovo、HP、MSIから、Amazonで購入できるミニPC5機種を紹介します。CPU、メモリ、ストレージ、拡張性、保証、無線LANの有無を用途別に整理します。

2026年版 最新おすすめスマートフォン 11選 ローエンドからハイエンドモデルまで

2026年版 最新おすすめスマートフォン 11選 ローエンドからハイエンドモデルまで

スマートフォンの選び方を、OS、SoC、RAM、AI機能、カメラ、バッテリーなどの基礎知識から整理し、価格帯別の注目モデル11機種を紹介し ます。

PCストレージ規格を解説! 現行の主流から旧規格まで

PCストレージ規格を解説! 現行の主流から旧規格まで

PCストレージ規格の基本を整理します。SATAとNVMeの違い、PCIe世代、M.2や2.5インチなどの形状、外付けストレージ規格、HDDとSSDの違い をまとめています。

2026年版 はじめてのミニPC おすすめモデル紹介

2026年版 はじめてのミニPC おすすめモデル紹介

この記事では「オフィスワーク向け」と「ゲーム&AI向け」の2つの用途に分けて、 はじめてミニPCを購入する方でも選びやすいおすすめモデルを紹介します。

2026年版 スマートウォッチの選び方 iPhone・Android別におすすめモデルを紹介

2026年版 スマートウォッチの選び方 iPhone・Android別におすすめモデルを紹介

スマートウォッチを初めて選ぶ人向けに、対応スマホ、健康管理、通知、決済、バッテリー、スポーツ機能の違いを整理し、Amazonで購入しやすい代表製品を紹介します。