Windows コマンド ラインから特定のポートの状態を調べる方法はありますか? netstat を使用してすべてのポートを調べることができることはわかっていますが、netstat は遅く、特定のポートを調べるのはおそらくそうではありません。
14 に答える
をフラグとnetstat
組み合わせて使用し、またはコマンドへのパイプを使用できます。-np
find
findstr
基本的な使用法は次のとおりです。
netstat -np <protocol> | find "port #"
たとえば、TCP のポート 80 を確認するnetstat -np TCP | find "80"
には、次のようにします。これにより、次のような出力が得られます。
TCP 192.168.0.105:50466 64.34.119.101:80 ESTABLISHED
TCP 192.168.0.105:50496 64.34.119.101:80 ESTABLISHED
ご覧のとおり、これは TCP プロトコルのポート 80 での接続のみを示しています。
WAMP apache に問題がある場合、このコードを使用して、ポート 80 を使用しているプログラムを見つけます。
netstat -o -n -a | findstr 0.0:80
3068
はPIDなので、タスクマネージャーから見つけてそのプロセスを停止できます。
他の場所で述べたように: 適切なスイッチを指定して netstat を使用し、find[str] で結果をフィルタリングします。
最も基本的な:
netstat -an | find ":N"
また
netstat -a -n | find ":N"
外部ポートを見つけるには、次を使用できます。
netstat -an | findstr ":N[^:]*$"
使用する可能性のあるローカル ポートを見つけるには、次のようにします。
netstat -an | findstr ":N.*:[^:]*$"
Nは、関心のあるポート番号です。
-n
すべてのポートが数値であることを保証します。つまり、サービス名に変換されたものとして返されません。
-a
すべての接続 (TCP、UDP、リッスン...) を確実に検索します。
文字列にはfind
、ポート修飾子としてコロンを含める必要があります。そうしないと、番号がローカル アドレスまたは外部アドレスと一致する可能性があります。
必要に応じて、他の netstat スイッチを使用して検索をさらに絞り込むことができます...
続きを読む (^0^)
netstat /?
find /?
findstr /?
netstat -a -n | find /c "10.240.199.9:8080"
特定のIPとポート(サーバーポート番号)でアクティブなソケットの数が表示されます
Windows 8 ユーザーの場合: コマンド プロンプトを開き、「netstat -an | 」と入力します。「あなたのポート番号」を見つけて、入力します。
応答がLISTENINGのように返された場合、ポートは使用中です。それ以外の場合は free です。
lsof コマンド「lsof -i tcp:port #」を使用します。例を次に示します。
$ lsof -i tcp:1555
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 27330 john 121u IPv4 36028819 0t0 TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 201u IPv4 36018833 0t0 TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 264u IPv4 36020018 0t0 TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 312u IPv4 36058194 0t0 TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)