ポートが開いているかどうかを確認するための同等のping


9

ポートが一貫して生きているかどうかを確認するにはどうすればよいですか?たとえば、私は

ping 192.168.1.1 -t > results.txt

これにより、192.168.1.1に継続的にpingが送信され、監視できるようになります。
これに使用できる同等のツールまたはコマンドはありますか?

現在私はtelnetを使用していますが、ホストが切断することもあります。Windowsソリューションが必要です。


たとえば、httpの場合はポート80、ftpの場合はポート21を確認する必要がある特定のポートですか、それともホストに到達可能かどうかをテストするために確認する必要がある特定のIPアドレスですか。後者は、上記の例で行っていることです。
クリス

特定のポートが開いているかどうかを確認したいのですが。
grassbl8d

「標準」のpingはICMPメッセージを使用するため、おそらくTCP / IPについて考えるポートについて話すと、そこでは不一致があり、閉じることができません(ICMPとIPは非常に異なるプロトコルです)。ping監視用の間違ったツールです。特定のサービスに必要な種類のトラフィックを生成するものを使用する必要があります。例:HTTPクエリなどを送信してWebサイトを監視する
Patrick Mevzek 2018年

回答:


13

Windowsバージョンがある場合はnetcatを使用できます。Linuxでは、次のように使用します。

nc -z <host> <port>

ポートが開いている場合、0を返します。これをループで実行して、連続させます。

Powershellが利用可能な場合、例についてはhttps://web.archive.org/web/20111102182913/http://poshcode.org/85を参照してください


2
1秒ごとにポート上のホストにpingし、0成功した場合は戻り1ます。それ以外の場合:while (:); do nc -z HOSTNAME_HERE PORT_HERE; echo $?; sleep 1; done
sjas

リンクが機能しない
クリントンワード

@ClintonWardアーカイブされたリンクで更新されました:)
Andrew

5

または、http: //nmap.orgのnmapを使用してください。Windows バージョンが利用可能です。

nmap -pポートホスト

または、ICMP要求に応答しないホストの場合、

nmap -P0 -pポートホスト


5

あなたはnmapからnpingを使うことができます:

C:\>nping --tcp -p 80 192.168.1.1

ここで-p、スキャンするポートを指定します(ここでは80)。さらに-H、返信のみを表示するために、送信されたパケットを非表示にするために使用できます。


0

telnet <host> <port><host>、上のTCPリスナーについてリモートをチェックし<port>ます。


0

ストックコマンドラインユーティリティを使用する場合はTELNETがポート接続します。反対に、サービスが応答している場合、エスケープコマンドシーケンスが提供されるのを待つ間、TELNETが「ハング」することがあります。

新しいコマンドラインユーティリティをインストールすることに心を開いている場合PaPingは必要に応じて機能します。それはクロスプラットフォームであり、利用可能なWindowsインストーラがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.