Skip to main content

MacでNetstatコマンドを使用する方法

????Multiple Fire TVs Stream Desktop Windows 10 | Windows 7 HowTo ANY PC Audio & Video To ANY Fire TV (六月 2026)

????Multiple Fire TVs Stream Desktop Windows 10 | Windows 7 HowTo ANY PC Audio & Video To ANY Fire TV (六月 2026)
Anonim

macOS上のnetstatコマンドは、Macのネットワーク通信に関する詳細情報を表示するために使用されるTerminalコマンドです。ネットワーク通信には、Macがすべてのポートおよびすべてのアプリケーションで外部と話しているすべての方法が含まれます。 netstatを習得したら、Macユーザーはコンピュータの接続状況とその理由をすばやく理解できます。

Netstatの実行

netstatコマンドは、デフォルトでMacで使用できます。ダウンロードやインストールは必要ありません。

netstatを実行するには、ターミナルウィンドウを開きます。 Terminalについてよく知らない人は、/Applications/Utilities/Terminal.appにあります。タイプ netstat Enterを押してコマンドを実行します。

あなたは、スクリーン上でスクロールし始める膨大な量の謎めいたテキストが気づくでしょう。これは正常であり、期待されています。追加のオプションがなければ、netstatはMac上のアクティブなネットワーク接続をすべて報告します。近代的なネットワークデバイスが実行する機能の数を考慮すると、リストが長くなることが期待できます。標準的なnetstatレポートは1000行以上も実行できます。

netstatの出力をフィルタリングすることは、Macのアクティブポートで何が起きているのかを理解する上で不可欠です。組み込みフラグを使ってnetstatの出力をフィルタリングすることができます。これらのフラグを使用すると、netstatの有効範囲と出力を制限してオプションを設定できます。

Netstatのフラグとオプション

netstatの使用可能なオプションをすべて表示するには、コマンドプロンプトでman netstatと入力します。これにより、netstatのマニュアルページが表示されます。 netstatのマニュアルページのオンライン版を表示することもできます。

netstat -AabdgiLlmnqrRsSvWx -c キュー -f 住所家族 -私 インタフェース -p プロトコル -w 待つ

macOS上のNetstatは、Windowsではnetstat、Linuxではnetstatと同じように動作しません。これらのnetstatの実装からのフラグや構文を使用しても、予期しない動作が起こることはありません。

先端:上記の簡略表記が完全にわかりにくい場合は、コマンド構文の読み方を学んでください。

-r パケットがネットワーク上でどのようにルーティングされるかを示すルーティングテーブルを表示します。

-p プロトコル 特定のネットワーキングプロトコルに関連するトラフィックをリストします。プロトコルの完全なリストは/ etc / protocolsにありますが、より重要なものはudpとtcpです。

-v 具体的には、開いている各ポートに関連付けられているプロセスID(PID)を示す列を追加することで、冗長性が向上します。

-私 インタフェース 指定されたインターフェイスのパケットデータを提供します。使用可能なすべてのインタフェースは、-iフラグで表示できますが、通常、en0はデフォルトの発信ネットワークインタフェースです。小文字に注意してください。

-g マルチキャスト接続に関連する情報を表示します。

-s アクティブであるかどうかにかかわらず、すべてのプロトコルのネットワーク統計を表示します。

-n 名前の付いたリモートアドレスのラベルを抑止します。これにより、限られた情報だけを犠牲にしながら、netstatの出力が大幅にスピードアップします。

-a netstatの出力にはデフォルトの出力に含まれていないサーバーポートが含まれています。

Netstatの例

実際に理解を深めるために、いくつかのnetstatの例を見てみましょう。

netstat -apv TCP

このコマンドは、開いているポートやアクティブなポートを含め、Mac上のTCP接続のみを返します。また、冗長な出力を使用して、各接続に関連付けられたPIDをリストします。

| netstat -a | grep -i "listen"

netstatとgrepの組み合わせにより、あなたのMac上の開いているポートが明らかになります。オープンポートは、メッセージを受信して​​いるポートです。構文に慣れていない場合、パイプ文字 | あるコマンドの出力を別のコマンドに送るために使用されます。 netstatの出力をgrepに渡し、キーワード "listen"を検索して結果を見つけます。

ネットワークユーティリティによるnetstatへのアクセス

ターミナルコマンドラインインターフェイスによるフル機能の使用に加えて、netstatの機能の一部には、Network Utilityアプリケーションからアクセスすることもできます。この内蔵macOSアプリは/ Applications / Utilities / Network Utility.appにあります。アプリを開き、 Netstat タブをクリックして、netstatのグラフィカルインタフェースにアクセスします。

ネットワークユーティリティ内のオプションは、コマンドラインで利用できるオプションよりはるかに制限されています。 4つのラジオボタンを選択すると、プリセットされたnetstatコマンドが実行され、出力が下の画面に表示されます。

各ラジオボタンのnetstatコマンドは次のとおりです。

  • ルーティングテーブル情報を表示する netstat -rを実行する
  • 各プロトコルの包括的なネットワーク統計を表示 netstat -sを実行する
  • マルチキャスト情報を表示する netstat -gを実行する
  • すべての現在のソケット接続の状態を表示する netstatを実行する

netstatにlsofを補足する

実際には、netstatのmacOS実装には、ユーザーが期待し必要とする機能の多くは含まれていません。それは用途がありますが、netstatはWindowsと同様にMacOS上ではそれほど有用ではありません。欠けている機能の多くを、別のコマンドlsofで置き換えることができます。

lsofは、現在どのアプリケーションでも開いているファイルを表示します。これは、アプリケーションに関連付けられている開いているポートを調べるためにも使用できます。 lsof -iを実行すると、インターネット経由で通信しているすべてのアプリケーションのリストが表示されます。これは通常、Windowsマシンでnetstatを使用するときの目標です。しかし、macOS上でそのタスクを達成する唯一の意味のある方法は、netstatではなくlsofである。

すべての開いているファイルやインターネット接続を表示することは、しばしば圧倒的に冗長です。そのため、lsofには特定の条件で結果を制限するためのフラグがいくつか付属しています。コマンドのユーティリティを拡張する多くの有用なフラグがあります。最も重要なものは以下の通りです。より多くのフラグと各フラグの実装に関する技術的な説明を含む追加の読書については、lsofのマニュアルページを参照するか、 男子 ターミナルプロンプトで。

lsofフラグとオプション

-私 すべての開いているネットワーク接続と、その接続を使用しているプロセスの名前を表示します。 4を追加する -i4IPv4接続のみが表示されます。代わりに6を追加する(-i6)は、IPv6接続のみを表示します。

-私 フラグを拡張して詳細を指定することもできます。 -iTCPまたは-iUDPは、TCPおよびUDP接続のみを返します。 -iTCP:25はポート25でTCP接続のみを返します。ポートの範囲は-iTCP:25-50のようにダッシュで指定できます。

[email protected]を使用すると、IPv4アドレス1.2.3.4への接続のみが返されます。 IPv6アドレスも同じ方法で指定できます。 @前駆体は、同じ方法でホスト名を指定するためにも使用できますが、リモートIPアドレスとホスト名の両方を同時に使用することはできません。

-s 通常、lsofにファイルサイズを表示させます。しかし、 -私 フラグ、 -s 異なった働きをします。その代わりに、ユーザーはコマンドの戻り値のプロトコルと状態を指定することができます。

-p lsofを特定のプロセスID(PID)に制限します。複数のPIDは、-p 123,456,789などのコモンズを使用して設定できます。プロセスIDは、123、^ 456のように^で除外することもできます。これは、特にPID 456を除外します。

-P ポート番号のポート名への変換を無効にし、出力を高速化します。

-n ネットワーク番号のホスト名への変換を無効にします。と一緒に使用する場合 -P lsofの出力を大幅に高速化することができます。

-あなた ユーザー 指定されたユーザが所有するコマンドだけを返します。

netstatのように、lsofのいくつかの例を見ると、私たちの理解を実践するのに役立ちます。

lsof -nP [email protected]:513

この複雑なコマンドは、ホスト名を持つすべてのTCP接続を一覧表示します lsof.itap とポート 513. また、IPアドレスとポートに名前を接続せずにlsofを実行するため、コマンドが著しく高速に実行されます。

lsof -iTCP -sTCP:LISTEN

これは、ステータスを持つすべてのTCP接続を返します 聴く。これにより、Macのすべての開いているTCPポートが明らかになります。また、開いているポートに関連付けられているプロセスも表示されます。これは、ほとんどのPIDをリストするnetstatよりも大幅なアップグレードです。

sudo lsof -i -u ^ $(whoami)

すべての接続を返します。 ない 現在ログインしているユーザーが所有しています。このコマンドは他のコマンドとは少し異なりますので、ここで詳しく説明します。

キャレット^は否定に使用されます。キャレットの後のテキストと一致するものはすべて結果から削除されます。私たちは、現在ログインしているユーザーの名前を 私は誰 lsofコマンドの内側で囲まれています。 $() lsofにその出力をテキストとしてアクセスさせます。 sudoで実行すると、あなた自身が所有していないタスクを見ることができます。 sudoなしでこのコマンドを実行すると、空のリストが返されます。

その他のネットワークコマンド

ネットワークを調べる際に興味のある他のターミナルネットワーキングコマンドには、arp、ping、ipconfigなどがあります。