回答:
XP / 2003 +(Vista / 2008/7を含む)を使用している場合、Win32_PingStatusを使用できます。スクリプトコードを実行しているマシンはXP / 2003 +である必要がある唯一のシステムであり、Ping.exeを使用するのと同じように機能します。 ping.exeの実行を許可しません。
strComputer = "192.168.1.1"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Address = '" & strComputer & "'")
For Each objItem in colItems
If objItem.StatusCode = 0 Then
WScript.Echo "Reply received."
End If
Next
Win32_PingStatusの使用方法の詳細については、Scripting Guyの記事を参照してください。
http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0914.mspx
PingはICMPです。ICMPをブロックすると、pingできなくなります。
TCP / UDP接続を受け入れる場合、TCPまたはUDPポートをテストできる場合があります。
ping、nc、telnet、およびその他のツールがないコンテナでテストを実行している場合、次のトリックを使用できます。
(echo >/dev/tcp/${host}/${port}) &>/dev/null && echo "open" || echo "closed"
これは、デバイスを介してtcp / udpを介して接続しようとし(うわー、知っています)、ポートが開いている場合は「open」、閉じている場合は「closed」をエコーします。
その場合、「閉じる」をエコーする前にしばらくハングします。
リモートマシンでSNMPエージェントを実行し、マネージャーを使用して標準MIBから値の1つを読み取ります。
ファイアウォールやルーターがない場合、つまり、チェックしようとしているホストと同じセグメントにいる場合-上記の解決策のほとんどは少し網羅的です。
どのポートに接続するかは問題ではありません。実際、サービスを実行する可能性が低いポートに接続すると、検出されずにジョブを完了できます。
どうやって?
任意のツールを使用できますが、telnetを使用できます...
% telnet <host> 313373
Trying 10.211.55.3...
telnet: connect to address 10.211.55.3: Connection refused
telnet: Unable to connect to remote host
%
ホストがパケットをドロップしない限り、これはすぐに発生するはずです。実際に起こっているのは、ホスト上のTCP / IPスタックがRSTビットが設定されたTCPセグメントを送り返していることです。つまり、SYNパケットを終了しています。
RSTパケットを受信したという事実は、実際にもう一方の端にホストがあることを意味し、ボーナスとして-あなたはそのように検出されませんでした(TCP / IPには、この接続について話す上位層アプリケーションがありませんでした) 。
ただし、telnetではなく、おそらくscapyのようなものを使用し、RSTフラグを探すものを作成して、お知らせします。
それはしばらくの間ハングし、タイムアウト- -同じことやってみていることIPにはホストが存在しない場合にだけ、これを完成させるだろう、受信ホストがドロップフィルタとファイアウォールを持っていた場合に発生が。
ファイアウォールが関与している場合、他の人が示唆しているように、などのツールを使用しnmap
ます。
for iでseq 1 65535
; tcpconnect -v remotehost $ iを実行します。やった
マシンに1分間に1回SNMPトラップ(パケット)をリモートモニターに送信させ、毎分トラップを受信していることを監視するルールを設定することができます。
簡単なWebサーバーをインストールし、「オンライン」というWebページを使用できます。必要な場所に接続するだけです。もちろん、スタチンIPまたはサービスリンクが必要です。
非常に簡単なアプローチは、サーバーで開かれているはずのTCPポートにtelnetすることです。
telnet theServerHostname 80
ただし、サービスがダウンしている場合、ホストがダウンしている場合と同じ結果になります。
nmapで実行できるあらゆる種類のスキャンがあり、nmapのサイトでそれらについて学び、ホストが稼働しているかどうかをテストする方法の専門家になる必要があります。これらには、TCP(telnetと同様)やUDPなど、icmp(ping)以外のプロトコルの使用が含まれます。
また、この意味でtelnetに似ているudpに接続する機能を含むものが必要な場合は、netcatを検討してください。
Microsoft独自のPortQryコマンドラインポートスキャナーバージョン2.0
SQL Serverポートを頻繁にテストするために使用します
開いているポート=リスニング中またはリスニングしていないファイアウォール=フィルタ済み