Ping behind proxy using httping

You can use utility httping for that. It sends a HEAD request (by default) to a web server and measures the time it took to get a response.

The utility is available through a number of repositories for different OS’es and Linux distros:

Ubuntu:

sudo apt install httping

Alpine:

sudo apk add httping

macOS with Homebrew:

brew install httping

How to use it:

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

Example output:

~ 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

Where:

-x – Address of a proxy server, port is optional
-g – URL to send a request to

Other useful options:

-5 – Use SOCKS5. Should be put after the -x option, i.e.:

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

-c – How many probes to send before exiting. Infinite by default.
-G – Do a GET request instead of a HEAD request. That means that also full page/file will be transferred. Note that in this case you’re no longer measuring the latency! Useful for testing actual websites.
Be noticed that the time measured also includes the latency introduced by the proxy server itself.

As another example, I used httping to estimate latency of my connection to Tor network through Tor proxy:

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

The only option I wish httping had is the ability to ask SOCKS5 proxy for domain name resolution, instead of doing it on its own, which is a more secure way with Tor.

Here is a link to the author’s website:

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

Src:

https://superuser.com/questions/175428/how-to-ping-when-behind-a-proxy

Share

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.