「netstat」という用語は、ネットワーク統計を表します。素人の言葉で言えば、netstatコマンドは、現在のネットワーク接続、ネットワークプロトコル統計、およびその他のさまざまなインターフェイスを表示します。
netstat
と入力すると ターミナルでは、コンピュータネットワーキングの背景知識がなくても、システムはさまざまなネットワーキング用語を私たちに投げかけます。残りを洗い流しながら重要な情報を抽出するのはプログラマーの責任です。
この記事では、netstat
を使用してコンピュータネットワークに関連するいくつかの質問に答えます。 コマンド。
Netstatコマンドを使用してアクティブなネットワーク接続を特定する
Linuxでアクティブなすべてのネットワーク接続を表示するには、
を使用します。netstat -a
出力:
標準出力には6つの列が含まれています:
- プロトコル(プロトコル) – TCP、UDPなど、ネットワーク接続に使用されるプロトコルのタイプ。
- Recv-Q(受信キュー) –ソケットの待機キューにあるデータの量(バイト単位)。
- Send-Q(送信キュー) –ソケットの送信キューにあるデータの量(バイト単位)。
- アドレス –各アドレスには、ホストの名前の後に「:」とポート番号が続きます
- ローカルアドレス –
netstat
が存在するコンピューターのアドレス コマンドが実行されています。 - 外国の住所 –ネットワークのもう一方の端にあるコンピューターのアドレス。
- ローカルアドレス –
- 州 –各ネットワーク接続の状態。
これをよりよく理解するために、ウェブサイト www.lookip.netを開いたとします。 。コマンドの実行時:
netstat -a | grep lookip.net
次の出力が得られます:
非常に明らかなように、特定の外部アドレスで進行中のすべてのネットワーク接続を抽出しました。コマンドで、「|
‘は、あるサブコマンドの出力を別のサブコマンドに渡すために使用されますが、grep
Linuxの検索ツールです。
注:すべてのウェブサイトがURLと一致する外国のアドレスを持っているわけではないため、この手法をすべての種類のウェブサイトに適用できるわけではありません。
netstatコマンドによって提供されるデータをさらに実験するために、プロトコル、アドレス、または状態に焦点を当てたコマンドを作成できます。
確立されたすべての接続を表示する
netstat -a | grep ESTABLISHED
すべてのTCP接続をリスニング状態で表示します
netstat -a | grep tcp | grep LISTEN
Linuxには、カスタムコマンドを作成する代わりに、特定の情報を取得するための組み込みオプションがいくつか用意されています。
プロトコルに基づくフィルタリング
TCP固有のクエリの場合、-t
オプションが使用されます。 TCP接続のみを表示するには:
netstat -at
注:1つのnetstatコマンドで複数のフィルターを適用するには、オプションが追加されます。
UDP固有のクエリの場合、 -u
オプションが使用されます。 UDPに続くすべてのソケットを表示するには:
netstat -au
状態ベースのオプション:
すべてのリスニングソケットを表示するには:
netstat -l
Netstatを使用したネットワーク接続を使用してプログラムを識別します
プログラムとそのプロセスIDを取得するには、以下を使用します:
netstat -p
TCP固有のプログラムの場合:
netstat -pt
出力:
お気づきのとおり、ChromeはプロセスIDが16648でインターネットにアクセスしています。この情報を使用して、ユーザーの知らないうちにネットワークにアクセスしているプログラムを強制終了または停止できます。
注:現在のユーザーがrootユーザーでない場合、一部のプログラム情報が非表示になることがあります。 Linuxでrootユーザーになるには、コマンドsudo su
パスワードを入力すると役立ちます。詳細については、こちらを参照してください。
Netstatコマンドを使用して各ネットワーク接続のIPアドレスを一覧表示する
IPアドレスとポートに関連するすべてのデータを数値で取得するには、次を使用します。
netstat -n
TCPに続くプログラムのアドレスは、次の方法で数値で表示できます。
netstat -ptn
出力:
各接続のIPアドレスとポート番号を確認できるため、違いは非常に明確です。
各プロトコルの統計は何ですか?
netstatコマンドを使用して各タイプのプロトコルの要約統計量にアクセスするには、次のコマンドを実行します。
netstat -s
出力:
Netstatコマンドを使用したルーティングテーブルの表示
ネットワーク上のすべてのデバイスは、データパケットをルーティングする場所を決定する必要があります。ルーティングテーブルには、これらの決定を行うための情報が含まれています。ルーティングテーブルの内容を数値で取得するには、次のコマンドオプションを使用します。
netstat -rn
出力:
カーネルルーティングテーブルは、次の列で構成されています。
- 目的地 –宛先コンピューターのアドレス。
- ゲートウェイ –中間ゲートウェイアドレス。
- ゲンマスク –ネットワークで使用可能なホストを指定するために使用されたネットマスク。
- フラグ –ルーティングの種類を指定します。
- MSS –デフォルトの最大セグメントサイズ
- ウィンドウ –デフォルトのウィンドウサイズ
- irtt (最初の往復時間) –信号を送信してその確認応答を受信する合計時間。
- Iface (インターフェース) –パケットがルーティングされるインターフェース。
注:値がゼロの列は、デフォルトのサイズが使用されていることを意味します。
アクティブなネットワークインターフェースを一覧表示する
インターネットから情報にアクセスするには、システムとネットワークの間に何らかのリンクが必要です。その相互接続のポイントは、ネットワークインターフェイスによって提供されます。コマンドを実行します:
netstat -i
出力:
カーネルインターフェイステーブルは、次のもので構成されます。
- Iface(インターフェース) –インターフェースの種類
- MTU –最大伝送ユニット
- RX –受信したパケット
- TX –送信されたパケット
- OK –エラーのないパケット
- ERR –エラーのあるパケット
- DRP –ドロップされたパケット
- OVR –オーバーフローが原因でパケットが失われた
- Flg –インターフェース構成を定義するフラグ
コマンドnetstat
1つの記事にまとめることを不可能にする幅広い知識を備えています。 Linuxのマニュアルページは、次の方法でいつでも参照できます。
man netstat
netstat
の詳細については ターミナルでヘルプを求めることができるオプション:
netstat -h
参照:
- Linux –netstatのマニュアルページ