6543-forks / httping

httping - A tool to measure RTT on HTTP/S requests
MIT License
0 stars 1 forks source link

make it more compatible with original httping #1

Open 6543 opened 2 years ago

6543 commented 2 years ago

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

help output ```sh HTTPing v2.5, (C) 2003-2016 folkert@vanheusden.com * SSL support included (-l) * ncurses interface with FFT included (-K) * TFO (TCP fast open) support included (-F) *** where to connect to *** -g x / --url URL to ping (e.g. -g http://localhost/) -h x / --hostname hostname to ping (e.g. localhost) - use either -g or -h -p x / --port portnumber (e.g. 80) - use with -h -6 / --ipv6 use IPv6 when resolving/connecting -l / --use-ssl connect using SSL. pinging an https URL automatically enables this setting *** proxy settings *** -x x / --proxy x should be "host:port" which are the network settings of the http/https proxy server. ipv6 ip-address should be "[ip:address]:port" -E fetch proxy settings from environment variables --proxy-user x username for authentication against proxy --proxy-password x password for authentication against proxy --proxy-password-file x read password for proxy authentication from file x -5 proxy is a socks5 server --proxy-buster x adds "&x=[random value]" to the request URL *** timing settings *** -c x / --count how many times to ping -i x / --interval delay between each ping -t x / --timeout timeout (default: 30s) --ai / --adaptive-interval execute pings at multiples of interval relative to start, automatically enabled in ncurses output mode -f / --flood flood connect (no delays) *** HTTP settings *** -Z / --no-cache ask any proxies on the way not to cache the requests --divert-connect connect to a different host than in the URL given --keep-cookies return the cookies given by the HTTP server in the following request(s) --no-host-header do not add "Host:"-line to the request headers -Q / --persistent-connections use a persistent connection, i.e. reuse the same TCP connection for multiple HTTP requests. usually possible when 'Connection: Keep-Alive' is sent by server. adds a 'C' to the output if httping had to reconnect -I x / --user-agent use 'x' for the UserAgent header -R x / --referer use 'x' for the Referer header --header adds an extra request-header *** networking settings *** --max-mtu limit the MTU size --no-tcp-nodelay do not disable Naggle --recv-buffer receive buffer size --tx-buffer transmit buffer size -r / --resolve-once resolve hostname only once (useful when pinging roundrobin DNS: also takes the first DNS lookup out of the loop so that the first measurement is also correct) -W do not abort the program if resolving failed: keep retrying -y x / --bind-to bind to an ip-address (and thus interface) with an optional port -F / --tcp-fast-open "TCP fast open" (TFO), reduces the latency of TCP connects --priority set priority of packets --tos set TOS (type of service) *** HTTP authentication *** -A / --basic-auth activate ("basic") authentication -U x / --username username for authentication -P x / --password password for authentication -T x read the password fom the file 'x' (replacement for -P) *** output settings *** -s / --show-statuscodes show statuscodes -S / --split-time split measured time in its individual components (resolve, connect, send, etc. --threshold-red from what ping value to show the value in red (must be bigger than yellow), only in color mode (-Y) --threshold-yellow from what ping value to show the value in yellow --threshold-show from what ping value to show the results --timestamp / --ts put a timestamp before the measured values, use -v to include the date and -vv to show in microseconds --aggregate x[,y[,z]] show an aggregate each x[/y[/z[/etc]]] seconds -z / --show-fingerprint show fingerprint (SSL) -v verbose mode *** "GET" (instead of HTTP "HEAD") settings *** -G / --get-request do a GET request instead of HEAD (read the contents of the page as well) -b / --show-transfer-speed show transfer speed in KB/s (use with -G) -B / --show-xfer-speed-compressed like -b but use compression if available -L x / --data-limit limit the amount of data transferred (for -b) to 'x' (in bytes) -X / --show-kb show the number of KB transferred (for -b) *** output mode settings *** -q / --quiet quiet, only returncode -m / --parseable-output give machine parseable output (see also -o and -e) -M json output, cannot be combined with -m -o rc,rc,... / --ok-result-codes what http results codes indicate 'ok' comma separated WITHOUT spaces inbetween default is 200, use with -e -e x / --result-string string to display when http result code doesn't match -n warn,crit / --nagios-mode-1 / --nagios-mode-2 Nagios-mode: return 1 when avg. response time >= warn, 2 if >= crit, otherwhise return 0 -N x Nagios mode 2: return 0 when all fine, 'x' when anything failes -C cookie=value / --cookie add a cookie to the request -Y / --colors add colors -a / --audible-ping audible ping *** GUI/ncurses mode settings *** -K / --ncurses / --gui ncurses/GUI mode --draw-phase draw phase (fourier transform) in gui --slow-log when the duration is x or more, show ping line in the slow log window (the middle window) --graph-limit x do not scale to values above x -D / --no-graph do not show graphs (in ncurses/GUI mode) -V / --version show the version ```
6543 commented 2 years ago
~> httping https://github.com

Auto enabling SSL due to https-URL
PING github.com:443 (/):
connected to 140.82.121.4:443 (3159 bytes), seq=0 time=124.27 ms 
connected to 140.82.121.4:443 (3152 bytes), seq=1 time=182.52 ms 
connected to 140.82.121.4:443 (3147 bytes), seq=2 time=104.09 ms 
^CGot signal 2
--- https://github.com/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 2937ms
round-trip min/avg/max = 104.1/137.0/182.5 ms

& by default it does not stop