はじめに
netstat
コマンドは、Linux のネットワーク管理者や開発者にとって重要なツールであり、ネットワーク接続、インターフェイス、およびプロトコルの現在の状態に関する貴重な情報を提供します。このチュートリアルでは、netstat
コマンドの理解、その出力データの分析、および情報の保存方法を説明し、ネットワーク関連の問題を効果的に監視およびトラブルシューティングできるようにします。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
netstat
コマンドは、Linux のネットワーク管理者や開発者にとって重要なツールであり、ネットワーク接続、インターフェイス、およびプロトコルの現在の状態に関する貴重な情報を提供します。このチュートリアルでは、netstat
コマンドの理解、その出力データの分析、および情報の保存方法を説明し、ネットワーク関連の問題を効果的に監視およびトラブルシューティングできるようにします。
netstat
コマンドは、Linux における強力なネットワーク監視ツールであり、ネットワーク接続、ネットワークインターフェイス、およびネットワークプロトコルの現在の状態に関する貴重な情報を提供します。これは、ネットワーク関連の問題をトラブルシューティングしたり、ネットワークトラフィックを分析したりする必要があるネットワーク管理者や開発者にとって重要なツールです。
netstat
コマンドは、以下を含むさまざまな種類のネットワーク情報を表示できます。
netstat
コマンドの基本的な使い方とオプションを理解することは、ネットワーク関連の問題を効果的に監視およびトラブルシューティングするために不可欠です。
以下は、Ubuntu 22.04 システム上ですべてのアクティブなネットワーク接続を表示するために netstat
コマンドを使用する例です。
$ netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5678/mysqld
tcp 0 0 192.168.1.100:22 192.168.1.200:50080 ESTABLISHED 9012/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1234/dhclient
この例では、netstat
コマンドに -antp
オプションが使用されており、以下の情報を表示します。
-a
)-n
)-t
)-p
)出力には、ポート 22 でリッスンしている SSH サーバー、ポート 3306 でリッスンしている MySQL サーバー、確立された SSH 接続、および DHCP クライアント接続を含む、さまざまなアクティブなネットワーク接続が表示されています。
netstat
コマンドとそのさまざまなオプションを理解することで、Linux システム上のネットワーク関連の問題を効果的に監視およびトラブルシューティングすることができます。
netstat
コマンドは、Linux システム上のネットワーク接続とネットワークアクティビティの現在の状態に関する豊富な情報を生成します。この出力データを分析することで、ネットワークのパフォーマンス、セキュリティ、および潜在的な問題に関する貴重な洞察を得ることができます。
netstat
出力のいくつかの重要な要素とその解釈方法を探ってみましょう。
netstat
の出力には、ローカルおよびリモートアドレス、プロトコル(TCP または UDP)、および接続状態を含む、アクティブなネットワーク接続に関する情報が表示されます。この情報を使用して、以下を特定できます。
接続情報を分析することで、不正アクセス試行や予期しないネットワーク接続などの異常または疑わしいアクティビティを検出できます。
netstat
コマンドは、送信および受信されたパケットの数、エラーの数、およびドロップされたパケットの数など、ネットワークインターフェイスに関する統計情報も提供できます。この情報を使用して、高いネットワーク使用率、パケット損失、またはネットワークインターフェイスの問題などのネットワークパフォーマンスの問題を特定できます。
以下は、Ubuntu 22.04 システム上でネットワークインターフェイスの統計情報を表示するために netstat
コマンドを使用する例です。
$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s3 1500 456 0 0 0 321 0 0 0 BMRU
lo 65536 1234 0 0 0 1234 0 0 0 LRU
この例では、netstat -i
コマンドがネットワークインターフェイステーブルを表示しており、これには受信および送信されたパケットの数、ならびにエラーまたはドロップされたパケットに関する情報が含まれています。
netstat
の出力データを分析することで、ネットワークパフォーマンスの問題を特定し、セキュリティ脅威を検出し、ネットワーク関連の問題をより効果的にトラブルシューティングすることができます。
netstat
コマンドはネットワークに関する貴重なリアルタイム情報を提供しますが、後で分析するために出力データを保存したり、ネットワーク監視タスクを自動化したりすることがしばしば役立ちます。このセクションでは、netstat
データを保存し、さまざまな目的に利用する方法を探ります。
netstat
の出力をファイルに保存するには、標準の Linux リダイレクト演算子を使用できます。たとえば、次のコマンドは、Ubuntu 22.04 システム上で netstat -antp
コマンドの出力を netstat_output.txt
という名前のファイルに保存します。
$ netstat -antp > netstat_output.txt
その後、保存されたデータをいつでも確認したり、さらなる分析や自動化の入力として使用したりできます。
netstat
データの収集を自動化するには、定期的に netstat
コマンドを実行し、その出力をファイルに保存するシェルスクリプトを作成できます。たとえば、次のスクリプトは、netstat -antp
コマンドを毎分実行し、その出力を netstat_data.log
という名前のファイルに追加します。
#!/bin/bash
while true; do
netstat -antp >> netstat_data.log
sleep 60
done
この保存されたデータは、次のようなさまざまな目的に使用できます。
netstat
データを分析して、不正アクセス試行や潜在的なセキュリティ侵害などの異常または疑わしいネットワークアクティビティを特定します。netstat
データを調べて、高いネットワーク使用率、パケット損失、またはネットワークインターフェイスの問題などのネットワークパフォーマンスの問題を特定します。netstat
データを使用して、接続性の問題やアプリケーションレベルのネットワーク問題などのネットワーク関連の問題を調査および診断します。netstat
データを保存して利用することで、ネットワークの動作についてより深い理解を得ることができ、セキュリティを向上させ、パフォーマンスを最適化することができます。
この包括的なチュートリアルでは、netstat
コマンドを活用してネットワークのアクティビティをより深く理解する方法を学びます。netstat
のさまざまなオプションと出力を調べ、データを分析して潜在的なネットワーク問題を特定できるようになります。さらに、後で分析するために netstat
の出力を保存する手法を学び、ネットワークのパフォーマンスを最適化し、問題を効率的にトラブルシューティングするために必要な情報を確保できるようになります。