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



How Use Netstat Command Mac



macOSのnetstatコマンドは、Macネットワーク通信に関する詳細情報を表示するために使用されるターミナルコマンドです。ネットワーク通信には、Macがすべてのポートとすべてのアプリケーションを介して外界と通信するためのすべての方法が含まれます。 netstatをマスターすると、コンピューター間の接続とその理由を理解するのに役立ちます。



Netstatを実行する

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



走る netstat 、お願いします」 応用' > ' ユーティリティ ' > ' ターミナル' 「ターミナル」ウィンドウを開きます。の種類 netstat 、次にを押します キーを入力してください 注文を実行します。

大量の隠しテキストが画面上をスクロールします。これは正常であり、予想されます。利用可能な標識を使用しない場合(以下を参照)、 netstat Macで_all_activeネットワーク接続を報告します。最新のネットワーク機器によって実行される機能の数を考慮すると、長いリストが期待できます。標準 netstat レポートは1000行以上実行できます。

フィルタ netstat 出力は、Macのアクティブポートで何が起こっているかを理解するために重要です。その組み込みフラグを使用すると、オプションを設定したり、制限したりできます netstat スコープと出力。



Netstatのフラグとオプション

表示するには netstat 利用可能なすべてのオプション、コマンドプロンプトで入力してください man netstat

注:「Man」は「manual」の略語です。

構文

フラグとオプションを追加するには netstat 、次の構文を使用してください。

netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface] [-p protocol] [-w wait]

便利なサイン

最も一般的に使用される標識のいくつかを次に示します。

-aはnetstatの出力にサーバーポートを含みます。これらのポートはデフォルトの出力には含まれません。

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

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

-nは、リモートアドレスをマークするために名前を使用することを禁止します。これにより、限られた情報のみを犠牲にしながら、netstatの出力速度が大幅に向上します。

-pプロトコルは、特定のネットワークプロトコルに関連付けられたトラフィックを一覧表示します。プロトコルの完全なリストは/ etc / protocolsにありますが、最も重要なプロトコルはudpとtcpです。

-rはルーティングテーブルを表示し、ネットワーク上のパケットのルーティングを示します。

-sは、アクティブかどうかに関係なく、すべてのプロトコルのネットワーク統計を表示します。

-vは、特に開いている各ポートに関連付けられたプロセスID(PID)を表示する列を追加することにより、詳細レベルを向上させます。

Netstatの例

次の例を考えてみましょう。

netstat -apv TCP

このコマンドは、開いているポートとアクティブなポートを含む、Mac上のTCP接続のみを返します。また、詳細出力を使用して、各接続に関連付けられているPIDを一覧表示します。

netstat -a | grep -i'listen '

netstatグリップ この組み合わせにより、開いているポート(メッセージをリッスンしているポート)が明らかになります。パイプキャラクター | あるコマンドの出力を別のコマンドに送信します。ここにある、 netstat 出力はにパイプされます グリップ 、キーワード「listen」を検索して結果を見つけることができるようにします。

ネットワークユーティリティを介してNetstatにアクセスする

ネットワークユーティリティアプリからアクセスすることもできます システム内 いくつか netstat 機能は次のとおりです。 システム >> 図書館 >> CoreServices >> 応用

クリック Netstat アクセスするタブ netstat グラフィカルインターフェイス。

コマンドラインから使用できるオプションと比較すると、ネットワークユーティリティのオプションははるかに制限されています。 4つのラジオボタンの選択のそれぞれは、プリセットを実行するだけで済みます netstat コマンドと表示の出力。

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

ルーティングテーブル情報を表示する 実行 netstat -r

表示 実行 netstat -s 各プロトコルの包括的なネットワーク統計

マルチキャスト情報を表示する 実行 netstat -g

現在のすべてを表示 実行 netstat ソケット接続状態

NetstatにLsofを追加する

netstat macOSの実装には、ユーザーが期待し、必要とする多くの機能が含まれていません。にもかかわらず netstat 用途はありますが、macOSでの役割はWindowsよりもはるかに有用ではありません。さまざまなコマンド lsof 不足している多くの機能を置き換えました。

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

Lsofのロゴとオプション

開いている各ファイルまたはインターネット接続を表示することは、通常、非常に面倒です。これは lsof 特定の条件下で結果を制限するフラグがある理由。最も重要なことは次のとおりです。

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

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

root @ xxxxxを使用すると、IPv4アドレス1.2.3.4への接続のみが返されます。 IPv6アドレスも同様に指定できます。 @を使用して同じ方法でホスト名を指定することもできますが、リモートIPアドレスとホスト名を同時に使用することはできません。

-sは通常、lsofにファイルサイズを表示させます。ただし、-iフラグと組み合わせると、-sの動作が異なります。代わりに、ユーザーは返されるコマンドのプロトコルとステータスを指定できます。

-pは、lsofを特定のプロセスID(PID)に制限します。複数のPIDには、-p123,456,789およびその他の一般的な設定を使用できます。プロセスIDは、123、^ 456に示すように、^で除外することもできます。具体的には、PID456を除外します。

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

-nは、ネットワーク番号をホスト名に変換することを禁止します。上記の-Pと一緒に使用すると、lsofの出力を大幅に高速化できます。

-üユーザーは、ユーザーが所有していると指定されたコマンドのみを返します。

lsofの例

これらは、lsofを使用するいくつかの方法です。

lsof -nP root @ xxxxx:513

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

lsof -iTCP -sTCP:聞く

これにより、ステータスが次のように返されます。 聴く 各TCP接続には、Macで開いているすべてのTCPポートが表示されます。また、これらの開いているポートに関連付けられているプロセスも一覧表示されます。これは正しいです netstat メジャーアップグレード、 netstat PIDまでリストします。

sudo lsof -i -u ^ $(whoami)

これにより、現在ログインしているユーザー_not_が現在所有しているすべての接続が返されます。このコマンドは、他のコマンドとは少し異なります。

カスプ( ^ )否定に使用されます。記号を挿入すると、テキストに一致するものはすべて結果から削除されます。パスイン lsof コマンドから実行 私は誰 (( 沿って $() 囲む )。 、作る lsof テキスト形式の出力にアクセスして、現在ログインしているユーザーの名前を取得します。 sudoを使用して実行すると、自分のものではないタスクを表示できます。 sudoを使用せずにこのコマンドを実行すると、空のリストが返されます。

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

ネットワークをチェックする必要がある可能性のある他の端末ネットワークコマンドには、arp、ping、およびipconfigが含まれます。より多くのMacソフトウェアが利用可能 www.macjb.com マックゴールドコインアクセス。