web-dev-qa-db-ja.com

ICMPがブロックされているときにhttpsにpingを実行する

ICMPが無効になっているWebサーバーを使用しています。一方、彼らはいくつかのhttpsリクエストに応答します。私は基本的に、別のサーバーがそのマシンに到達できるかどうかを確認し、それに関するデータを取得するために、ping機能のようなhttpを探しています

私は次のオプションを検討しました。

  1. 2台のマシン間の接続を分析するWebページを作成します。つまり、1台のマシンがそのWebページを参照しようとします。接続速度などに関する情報を提供します。このWebページは基本的に、ある種のWebアプリケーションを実行する必要があるため、これは表から除外されています。それを開発する時間がありません。 -既存の技術をご存知の場合はお知らせください。

  2. Webサーバーでファイルをホストし、ダウンロードしようとしています。私が欲しいすべてのデータを提供するわけではありません。ブラウザは通常、すべての「楽しい」ものを難読化します。

  3. このwww.coretechnologies.com/products/http-ping/のような何らかのpingユーティリティを使用していますが、何らかの理由で協調LANのリダイレクトを処理できないため、使用できません。 (私はリクエストを送信しますが、答えは302リダイレクト応答で0バイトです)。他の人を知っていますか?

解決策の1つを機能させることができるか、セクション3で提案されたユーティリティでの私の使用に誤りがあるか、または他のアイデアを考えているかどうかをアドバイスしてください。

更新:

すべてのシステムはウィンドウベースです。

3
qballer

pspingを使用できます
http://technet.Microsoft.com/en-us/sysinternals/jj729731.aspx

psping -q -i 0 -n 500  google.com:443
3
Alexufo

Opensslを使用して、SSLセッションを開くことができるかどうかを確認できます。

[joeuser@Host ~]$ openssl s_client -quiet -status -connect google.com:443
depth=2 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify return:1
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = www.google.com
verify return:1

SSLセッションを取得できない場合は、次のように返されます。

[joeuser@Host ~]$ openssl s_client -quiet -status -connect google.com:80
3078973148:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:699:

Windowsの場合:

C:\OpenSSL-Win32\bin>
C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com
:443
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0

C:\OpenSSL-Win32\bin>openssl.exe s_client -quiet -status -connect www.google.com
:80
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
2096:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:.\ssl\s
23_clnt.c:683:
3
Rilindo

Lynxがインストールされている場合は、https ::をサポートします。おそらく、このコマンド関数を使用してスクリプトを作成できます。

Lynxは基本的にテキストのみのブラウザです。

0
mdpc

ICMPプロトコルが企業のファイアウォールによってブロックされているようです。これは非常に一般的です(スマーフ攻撃をブロックするため)。 ITスタッフにサーバーへのICMPトラフィックを開くように依頼してみませんか?

0
compcentral

私は間違っていると思い込んでいるかもしれませんが、あなたの最終目標は接続性をテストすることだと思いますよね? telnetとnetcatの両方がこれに完全にうまく機能します。リスニングポートで接続を確立してから切断することでテストします。 Telnetは、手動プロセスまたは対話する必要のあるプロセスに適しています。スクリプト化できるものが必要なようですので、netcatをお勧めします。

nc -z yourhostname port-または-
nc -z www.google.com 80

期待される出力は次のとおりです。
Connection to www.google.com 80 port [tcp/http] succeeded!

これは、443/httpsまたはテストする必要のあるその他のサービスでも同様に機能します。 ncの戻り値は、成功したかどうかを示しているため、スクリプトに組み込むことができます。

Windowsはtelnetをネイティブにサポートしており、netcatのWindowsビルドをダウンロードするか、Cygwinを使用できます。

0
Aaron Copley