web-dev-qa-db-ja.com

特定のポートを調べるためのコマンドライン

Windowsのコマンドラインから特定のポートのステータスを調べる方法はありますか? netstatを使ってすべてのポートを調べることができることはわかっていますが、netstatは遅く、特定のポートを調べるのはおそらくそうではありません。

213
user1580018

これが 簡単な解決策 /ポート発見の...です。

Cmdで:

netstat -na | find "8080"

Bashで:

netstat -na | grep "8080"
203

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の接続のみを示しています。

100
Rivasa

wAMP Apacheに問題があるときは、どのプログラムがポート80を使用しているかを見つけるためにこのコードを使用します。

netstat -o -n -a | findstr 0.0:80

enter image description here

3068はPIDなので、タスクマネージャから見つけてそのプロセスを止めることができます。

66
Mohsen Safari

私が使う:

netstat –aon | find "<port number>"

ここでoはプロセスIDを表します。これでプロセスIDを使って何でもできるようになりました。たとえば、次のようにしてプロセスを終了します。

taskkill /F /pid <process ID>
61
Himadri Pant

他の場所で述べたように、適切なスイッチを付けて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 /?
19
EndUzr
netstat -a -n | find /c "10.240.199.9:8080"

それはあなたに特定のIPとポート(サーバーポート番号)でアクティブなソケットの数を与えるでしょう

8
Uday Singh

Windows 8ユーザーの場合:コマンドプロンプトを開くには、 netstat -an |と入力します。 「あなたのポート番号」を見つけてください 、入力してください。

応答が _ listening _ のようになった場合、そのポートは使用中です。それ以外の場合は無料です。

5
Pratik Roy

@ EndUzrの応答を改善するには

外部ポート(IPv4またはIPv6)を見つけるには、次のようにします。

netstat -an | findstr /r /c:":N [^:]*$"

ローカルポート(IPv4またはIPv6)を見つけるには、次のようにします。

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

Nはあなたが興味を持っているポート番号です。 "/ r"スイッチはそれを正規表現として処理するように伝えます。 "/ c"スイッチを使用すると、findstrは、スペースを検索ストリング区切り文字として扱う代わりに、検索ストリング内にスペースを含めることができます。この追加されたスペースは、より長いポートが誤って処理されるのを防ぎます - 例えば、 ":80" vs ":8080"や他のポート管理問題.

ローカルRDPサーバーへのリモート接続を一覧表示するには、次のようにします。

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

または、誰があなたのDNSに触れているのかを見るために:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

ローカル専用ポートを除外したい場合は、 "/ v"を付けて一連の例外を使い、バックスラッシュを付けてエスケープすることができます。

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
2
shawn

ポート80の場合、コマンドは次のようになります。ポート "n"の場合、コマンドは次のようになります。 "n"を見つける

ここで、netstatはあなたのマシンへの命令です

-a:すべての接続と待機中のポートを表示します。-n:すべてのアドレスと命令を数値形式で表示します(-aからの出力にはマシン名を含めることができるため、これは必須です)。

次に、前のコマンドの出力を「パターン・マッチング」するための検索コマンド。

1
subodhkarwa

これはあなたを助けます

netstat -plan | grep :<port number>
0
jobin