1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.2.
.TH TESTSSL "1" "September 2015" "testssl [1m" "User Commands"
.SH NAME
testssl \- Command line tool to check TLS/SSL ciphers, protocols and cryptographic flaws
.SH DESCRIPTION
testssl is a free command line tool which checks a server's service
on any port for the support of TLS/SSL ciphers, protocols as well as
recent cryptographic flaws and more.
Key features:
* Clear output: you can tell easily whether anything is good or bad
* Ease of installation: It works for Linux, Darwin, FreeBSD and MSYS2/Cygwin out of the box: no need to install or configure something, no gems, CPAN, pip or the like.
* Flexibility: You can test any SSL/TLS enabled and STARTTLS service, not only webservers at port 443
* Toolbox: Several command line options help you to run YOUR test and configure YOUR output
* Reliability: features are tested thoroughly
* Verbosity: If a particular check cannot be performed because of a missing capability on your client side, you'll get a warning
* Privacy: It's only you who sees the result, not a third party
* Freedom: It's 100% open source. You can look at the code, see what's going on and you can change it. Heck, even the development is open (github)
.TP
\fB\-h\fR, \fB\-\-help\fR
what you're looking at
.TP
\fB\-b\fR, \fB\-\-banner\fR
displays banner + version of testssl
.TP
\fB\-v\fR, \fB\-\-version\fR
same as previous
.TP
\fB\-V\fR, \fB\-\-local\fR
pretty print all local ciphers
.TP
\fB\-V\fR, \fB\-\-local\fR <pattern>
which local ciphers with <pattern> are available?
(if pattern not a number: word match)
.PP
testssl <options> URI ("testssl URI" does everything except \fB\-E\fR)
.TP
\fB\-e\fR, \fB\-\-each\-cipher\fR
checks each local cipher remotely
.TP
\fB\-E\fR, \fB\-\-cipher\-per\-proto\fR
checks those per protocol
.TP
\fB\-f\fR, \fB\-\-ciphers\fR
checks common cipher suites
.TP
\fB\-p\fR, \fB\-\-protocols\fR
checks TLS/SSL protocols
.TP
\fB\-S\fR, \fB\-\-server_defaults\fR
displays the servers default picks and certificate info
.TP
\fB\-P\fR, \fB\-\-preference\fR
displays the servers picks: protocol+cipher
.TP
\fB\-y\fR, \fB\-\-spdy\fR, \fB\-\-npn\fR
checks for SPDY/NPN
.TP
\fB\-x\fR, \fB\-\-single\-cipher\fR <pattern> tests matched <pattern> of ciphers
(if <pattern> not a number: word match)
.TP
\fB\-U\fR, \fB\-\-vulnerable\fR
tests all vulnerabilities
.TP
\fB\-B\fR, \fB\-\-heartbleed\fR
tests for heartbleed vulnerability
.TP
\fB\-I\fR, \fB\-\-ccs\fR, \fB\-\-ccs\-injection\fR
tests for CCS injection vulnerability
.TP
\fB\-R\fR, \fB\-\-renegotiation\fR
tests for renegotiation vulnerabilities
.TP
\fB\-C\fR, \fB\-\-compression\fR, \fB\-\-crime\fR
tests for CRIME vulnerability
.TP
\fB\-T\fR, \fB\-\-breach\fR
tests for BREACH vulnerability
.TP
\fB\-O\fR, \fB\-\-poodle\fR
tests for POODLE (SSL) vulnerability
.TP
\fB\-Z\fR, \fB\-\-tls\-fallback\fR
checks TLS_FALLBACK_SCSV mitigation
.TP
\fB\-F\fR, \fB\-\-freak\fR
tests for FREAK vulnerability
.TP
\fB\-A\fR, \fB\-\-beast\fR
tests for BEAST vulnerability
.TP
\fB\-J\fR, \fB\-\-logjam\fR
tests for LOGJAM vulnerability
.TP
\fB\-s\fR, \fB\-\-pfs\fR, \fB\-\-fs\fR,\-\-nsa
checks (perfect) forward secrecy settings
.TP
\fB\-4\fR, \fB\-\-rc4\fR, \fB\-\-appelbaum\fR
which RC4 ciphers are being offered?
.TP
\fB\-H\fR, \fB\-\-header\fR, \fB\-\-headers\fR
tests HSTS, HPKP, server/app banner, security headers, cookie, reverse proxy, IPv4 address
.IP
special invocations:
.TP
\fB\-t\fR, \fB\-\-starttls\fR <protocol>
does a default run against a STARTTLS enabled <protocol>
.TP
\fB\-\-xmpphost\fR <to_domain>
for STARTTLS enabled XMPP it supplies the XML stream to\-'' domain \fB\-\-\fR sometimes needed
.TP
\fB\-\-mx\fR <domain/host>
tests MX records from high to low priority (STARTTLS, port 25)
.TP
\fB\-\-ip\fR <ipv4>
a) tests the supplied <ipv4> instead of resolving host(s) in URI
b) arg "one" means: just test the first DNS returns (useful for multiple IPs)
.TP
\fB\-\-file\fR <file name>
mass testing option: Just put multiple testssl command lines in <file name>,
one line per instance. Comments via # allowed, EOF signals end of <file name>.
.PP
partly mandatory parameters:
.TP
URI
host|host:port|URL|URL:port (port 443 is assumed unless otherwise specified)
.TP
pattern
an ignore case word pattern of cipher hexcode or any other string in the name, kx or bits
.TP
protocol
is one of ftp,smtp,pop3,imap,xmpp,telnet,ldap (for the latter two you need e.g. the supplied openssl)
.PP
tuning options:
.TP
\fB\-\-assuming\-http\fR
if protocol check fails it assumes HTTP protocol and enforces HTTP checks
.TP
\fB\-\-ssl\-native\fR
fallback to checks with OpenSSL where sockets are normally used
.TP
\fB\-\-openssl\fR <PATH>
use this openssl binary (default: look in $PATH, $RUN_DIR of testssl
.TP
\fB\-\-proxy\fR <host>:<port>
connect via the specified HTTP proxy
.TP
\fB\-\-sneaky\fR
be less verbose wrt referer headers
.TP
\fB\-\-quiet\fR
don't output the banner. By doing this you acknowledge usage terms normally appearing in the banner
.TP
\fB\-\-wide\fR
wide output for tests like RC4, BEAST. PFS also with hexcode, kx, strength, RFC name
.TP
\fB\-\-show\-each\fR
for wide outputs: display all ciphers tested \fB\-\-\fR not only succeeded ones
.TP
\fB\-\-warnings\fR <batch|off|false>
"batch" doesn't wait for keypress, "off" or "false" skips connection warning
.TP
\fB\-\-color\fR <0|1|2>
0: no escape or other codes, 1: b/w escape codes, 2: color (default)
.TP
\fB\-\-debug\fR <0\-6>
1: screen output normal but debug output in temp files. 2\-6: see line ~105
.PP
All options requiring a value can also be called with '=' (e.g. testssl \fB\-t\fR=\fI\,smtp\/\fR \fB\-\-wide\fR \fB\-\-openssl=\fR/usr/bin/openssl <URI>.
<URI> is always the last parameter.
.PP
Need HTML output? Just pipe through "aha" (Ansi HTML Adapter: github.com/theZiz/aha) like
.IP
"testssl <options> <URI> | aha >output.html"
.SH AUTHOR
This manual page was written by ChangZhuo Chen <czchen@debian.org> for the
Debian GNU/Linux system (but may be used by others).
|