今回はMacで使用しているポートを調べる方法を紹介します。
ポートは単純に PCへ接続するケーブルの接続口の意味もありますが、大体の場合はネットワークとPCをつなぐ接続口という意味になります。
今回はPCが接続しているネットワークポート(ややこしいのでポートと記載)でどのポートが使用されているか調べる方法を紹介します。
一緒にポートを使用しているプログラムの確認方法なども紹介します。
使用しているポートを調べる
どのポートが使用中(開いている)なのか確認することは結構大事です。
例えばアプリを使用していないのにポートが開いている状態であれば、セキュリティの心配もあるので閉じた方が良いと思います。
また、ポートが使用中でサービスを実行できない時なども使用しているポートを調べることは必須です。
ネットワークユーティリティを起動
使用しているポートを確認する一番簡単な方法は、ネットワークユーティリティのPortscanになると思います。
場所はMacintosh HD➡︎システム➡︎ライブラリ➡︎CoreServices➡︎Applicationsのネットワークユーティリティ.appです。
もしくは下記のパスをFinderにて⌘ command+⇧ shift+Gでコピペしてください。
/System/Library/CoreServices/Applications/
ライブラリフォルダにはいくつか種類があるので、よくわからない場合は下記記事を御確認ください。
アプリの場所が深い階層にあるのでよく使用する場合はDockを活用すると便利です。
Portscanを実行
ネットワークユーティリティを起動したら、「Portscan」タブを選択します。
インターネットアドレスを入力する箇所に自分のPCのIPアドレス「127.0.0.1」を入力して、右側にある「Scan」を選択します。
ポートをスキャンするのにしばらく時間がかかります。
スキャンが終わったら結果が表示されます。
大体のポート番号がわかっているのであれば、「ポートを限定してテスト」スキャン範囲を指定すれば早く結果が確認できます。
このように現在使用しているポート番号が一覧で確認できます。
それではポートを使用しているプログラムを確認する方法を、今回は例としてポート番号「10400」で説明していきます。
ポートを使用しているプログラム確認方法
これまでの説明で使用しているポートは確認できましたが、何のプログラムがポートを使用しているかはわからない状態です。
ポートを使用しているプログラムの確認はターミナルのコマンドで行えます。
ターミナルの基本情報は下記記事を御確認ください。
ターミナルを起動したら、下記のコマンドを実行します。
sudo lsof -i:10400
すると⬇︎のような結果が確認できます。
「lsof」コマンドについては詳細をまたまとめる予定ですので、今回は省略して説明させていただきます。
上記の結果からポート「10400」を使用しているのは「COMMAND」に表示されているLINEアプリであることがわかります。
「PID」に表示されている3189がプロセス番号になるので、もしLINEを起動していないのにポートが使用されている場合はプログラムを終了させる必要があります。
指定したプロセスを終了
プロセス番号がわかれば終了するのはとても簡単です。
下記のコマンドを実行します。
kill 3189
これでポート番号10400は閉じられます。
プログラムを確認するのにアクティビティモニタが便利
今回説明したケースだと、ポートを使用しているプロセスがLINEと分かりやすかったので特に問題はありません。
しかしポートを使用しているプログラム名がターミナル上では分かりづらい場合があります。
⬆︎だとプログラム名が「2BUA8C4S2」となっていて何のプログラムがポートを使用しているか見当つきません。
そんな時はアクティビティモニタを使用すると分かりやすいです。
アクティビティモニタの場所はアプリケーション➡︎ユーティリティ➡︎アクティビティモニタ.appになります。
ターミナルの結果で確認したプロセス番号「3167」で確認すると、パスワード管理アプリ「1Password」のミニ画面であることが確認できます。
今回は以上になります。このような情報は把握できるようにしておきたいと個人的には思う今日この頃です。