🔖

ポート(port)確認用のコマンド(Linux, Windows)

2023/08/26に公開

ポート確認用のコマンドのまとめです。
Linux (Bash) とWindows (PowerShell)の両方のコマンドを記載しています。

Linux (Bash)

以下サイトに説明あり。
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/ss-netstat/
権限によってはprocessが表示されないことがある。
その場合はsudoなどで必要な権限を付与して実行する。

ss -natup
-n : ポート番号をサービス名変換しない(例えば:httpと表示せず:80と表示する)
-a : 全ての状態のソケットを表示する
-l : Listen(待ち受け)ポートのみを表示する
-t : TCP を表示する
-u : UDP を表示する
-p : プロセスを表示する

正規表現で条件指定して絞り込む例は以下のとおり。

ss -nltup | grep -E "^(\S+\s+){4}\S+:80\s"

単純に文字列一致で条件指定して絞り込む例は以下のとおり。

ss -nltup | grep ":80 "

プロセスの確認

プロセスIDでのプロセスの確認の例は以下のとおり。

ps -u -p 4380

Windows (PowerShell)

# バージョン確認
$PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.19041.2673
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.2673
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

以下のようにしてTCPのポート一覧を表示可能。

netstat -nao -p tcp

オプションの説明は以下のとおり。

-n : ホスト名ではなく、IPアドレスで表示
-a : すべてのネットワーク接続を表示する
-o : 対応するプロセスIDを表示する
-p : 指定したプロトコルの接続のみ表示する(プロトコル : tcp, udp, tcpv6, udpv6)

正規表現で条件指定して絞り込む例は以下のとおり。

netstat -nao | Select-String -Pattern "^[\s|\S]*TCP[\s|\S]+[0-9|.|:|*|\[|\]]+:80\s"

単純に文字列一致で条件指定して絞り込む例は以下のとおり。

netstat -nao | Select-String -SimpleMatch ":80 "

プロセスの確認

プロセスIDでのプロセスの確認の例は以下のとおり。

Get-Process -Id 4380

Discussion