Scroll to navigation

pathoc(1) pathoc(1)

NAME

pathoc - a perverse HTTP client

SYNOPSIS

pathoc [-h] [--show-uas] [--version] [-c HOST:PORT] [--memo-limit N]

       [-m] [-n N] [-w N] [-r] [-t TIMEOUT] [--http2]

       [--http2-skip-connection-preface] [-s] [-C CLIENTCERT] [-i SNI]

       [--ciphers CIPHERS]

       [--ssl-version {all|TLSv1_2|secure|TLSv1_1|TLSv1|SSLv3|SSLv2}]

       [-I IGNORECODES] [-S] [-e] [-o] [-q] [-p] [-T] [-x]

       [--http2-framedump]

       host[:port] requests [requests ...]

DESCRIPTION

pathoc is a perverse HTTP client designed to let you craft almost any conceivable HTTP request, including ones that creatively violate the standards. HTTP requests are specified using a small, terse language, which pathoc shares with its server-side twin, pathod.

OPTIONS

Positional Arguments:

Host and port to connect to.
Request specification, or path to a file containing request specifcations.

Optional Arguments:

Show this help message and exit.
Print user agent shortcuts and exit.
Show program's version number and exit.
Issue an HTTP CONNECT to connect to the specified host.
Stop if we do not find a valid request after N attempts.
Remember specs, and never play the same one twice.

Note that this means requests have to be rendered in memory, which means that large generated data can cause issues.

Repeat N times. Pass -1 to repeat infinitely.
Wait N seconds between each request.
Select a random request from those specified. If this is not specified, requests are all played in sequence.
Connection timeout.
Perform all requests over a single HTTP/2 connection.
--http2-skip-connection-preface
Skips the HTTP/2 connection preface before sending requests.

SSL:

Connect with SSL.
Path to a file containing client certificate and private key.
SSL Server Name Indication.
SSL cipher specification.
Set supported SSL/TLS versions. SSLv2, SSLv3 and all are INSECURE. Defaults to secure, which is TLS1.0+.

Controlling Output:

Some of these options expand generated values for logging. If you're generating large data, use them with caution.

Comma-separated list of response codes to ignore.
Show info on SSL connection.
Explain requests.
Oneshot - exit after first non-ignored response.
Print full request.
Print full response.
Ignore timeouts.
Output in hexdump format.
--http2-framedump
Output all received & sent HTTP/2 frames.

AUTHORS

pathoc was written by Aldo Cortesi.

This manual page was written for the Debian GNU/Linux system, but its use elsewhere is encouraged.

SEE ALSO

pathoc documentation and examples are available online at <http://docs.mitmproxy.org/en/latest/pathod/intro.html#pathoc>.

November 2016