web-dev-qa-db-ja.com

プロキシの背後にあるときにpingする方法は?

HTTPプロキシサーバーを使用してインターネットに接続しています。

そのため、pingが機能しません

ping www.google.com

到達できないホストは言う

HTTPプロキシを使用するようにpingを設定するにはどうすればよいですか?

32
Lazer

一般的にはできません。 pingが機能するには、IPレベルでの直接ネットワーク接続が必要です。プロキシは、IPプロトコルに直接アクセスできない TCP/IPネットワークモデル の上位層で機能します。

どういうわけかプロキシを回避する必要があります(ファイアウォール設定の変更、VPNの使用など)。これが可能(かつ許可)かどうかは、ネットワーク構成によって異なりますが、おそらく不可能です。

回避策として、多くのWebベースのpingサービスを利用できます(「Webベースのping」を検索してください)。これらは動作します。

36
sleske

これを試すこともできますが、最初にcurlをインストールする必要があります。

http_proxy=http://<proxy_username>:<proxy_password>@<your_proxy_server>:<your_proxy_port>  curl -I http://google.com/
9
Ishant Mrinal

他の人が指摘したように、pingはプロキシ経由では機能しません。

ただし、ユーティリティhttpingを使用できます。 HEADリクエスト(デフォルト))をWebサーバーに送信し、応答を取得するのにかかった時間を測定します。

例:

httping -x 192.68.1.12:1080 -g http://google.com

出力例:

➜  ~ httping -g http://google.com -c 3
PING google.com:80 (/):
connected to 64.233.165.113:80 (313 bytes), seq=0 time= 38.49 ms 
connected to 64.233.165.101:80 (313 bytes), seq=1 time= 66.94 ms 
connected to 64.233.165.100:80 (313 bytes), seq=2 time= 40.79 ms 
--- http://google.com/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3162ms
round-trip min/avg/max = 38.5/48.7/66.9 ms

どこ:

  • -x-プロキシサーバーのアドレス、ポートはオプションです
  • -g-リクエストを送信するURL

その他の便利なオプション:

  • -5-SOCKS5を使用します。 -xオプションの後に配置する必要があります。つまり、

    httping -x localhost:1080 -5 -g http://google.com
    
  • -c-終了する前に送信するプローブの数。デフォルトでは無限。
  • -G-HEADリクエストの代わりにGETリクエストを実行します。これは、ページ/ファイル全体も転送されることを意味します。この場合、レイテンシを測定しなくなったことに注意してください!実際のウェブサイトのテストに役立ちます。

測定された時間には、プロキシサーバー自体によって導入された遅延も含まれることに注意してください。


このユーティリティは、さまざまなOSおよびLinuxディストリビューション用のいくつかのリポジトリから入手できます。

Ubuntu:

Sudo apt install httping

高山:

Sudo apk add httping

homebrewを搭載したmacOS:

brew install httping

別の例として、httpingを使用して、Torプロキシを介したTorネットワークへの接続のレイテンシを推定しました。

httping -x localhost:9050 -5 -g http://google.com

私がhttpingに望んでいた唯一のオプションは、ドメイン名の解決をSOCKS5プロキシに依頼する機能です。これは、Torでより安全な方法です。


これは著者のウェブサイトへのリンクです:

https://www.vanheusden.com/httping/

1