scanssh(1)
π scanssh(1) β the manual page, but make it make sense π
okay bestie, welcome to scanssh, from the General Commands Manual section of your local man setup. she's a network scanner and she's iconic. let's get into it π«Ά
β¨ NAME β¨
scanssh β scans the Internet for open proxies and SSH servers
like... she goes out there and finds them. no cap. π₯
πΈ SYNOPSIS πΈ
scanssh [-VIERph] [-s scanners,...] [-n ports,...] [-u socks hosts,...]
[-e excludefile] addresses...
π¦ DESCRIPTION π¦
ScanSSH scans the given addresses and networks for running services. its whole main character thing is detecting open proxies and Internet services. and for services it recognizes, ScanSSH will go query their version number and show you the results in a list. cute, right? π
So the addresses β you can write them as a plain IPv4 address, or as a CIDR-style IP prefix, like ipaddress/masklength. Want ports too? just tack a colon on the end of your address spec. done. β¨
and THEN, plot twist, you can prefix two special commands to the address:
random(n[,seed])/β the random command picks random addresses out of the address range you gave it. the args work like this:nis how many addresses to randomly create inside the given network, andseedis a seed for the pseudo random number generator. π²split(s,e)/β the split command splits the address range into several unique components. this is the one you use when you wanna scan from a bunch of hosts in parallel. args:eis how many hosts are scanning in parallel, andsis the number of the host this particular scan is running on. π§
π OPTIONS π
ngl there's a lot of them. every single one is here, bestie, we are NOT skipping.
-Vβ makesscansshprint its version number. flex check. π-Iβ does not send a SSH identification string. stay mysterious. π-Eβ exits the program if the file containing the addresses for exclusion can't be found. like, no file, no scan, bye. π-Rβ if addresses are generated at random, this flag makes the program ignore excluded addresses from the exclude file. heads up: the default behaviour is to always exclude addresses. so-Ris the rebellion flag. π₯-pβ says ScanSSH should operate as a proxy detector. this flag sets the default modes and default scanners to detect open proxies. one letter, whole vibe shift. β¨-iif β specifies the local interface.-hβ displays the usage of the program. the classic. π-nports,... β specifies the port numbers to scan. ports are separated by commas. each specified scanner gets run for each port in this list. default is22. π-usocks hosts,... β a list of comma separatedhost:portpairs of SOCKS proxies thatscansshshould use to scan through. tunnel girl summer. π³οΈ-sscanners β specifies a number of scanners that should be executed for each open port. multiple scanners are separated by commas. the scanners currently supported are:sshβ finds versions for SSH, Web and SMTP servers.socks5β detects if a SOCKS V5 proxy is running on the port.socks4β detects if a SOCKS V4 proxy is running on the port.http-proxyβ detects a HTTP get proxy.http-connectβ detects a HTTP connect proxy.telnet-proxyβ detects telnet based proxy servers.
-eexcludefile β specifies the file that contains the addresses to be excluded from the scan. the syntax is the same as for the addresses on the command line. so you write it the same way, no new rules. π
π okay important: the output fromscansshcontains only IP addresses. if you want names instead, you can convert those IP addresses with thelogresolve(8)tool included in the Apache webserver. noted. π«Ά
π₯ EXAMPLES π₯
this next one scans the class C network 10.0.0.0 - 10.0.0.255 for open proxies:
scanssh -p 10.0.0.0/24
the next command scans for ssh servers on port 22 only:
scanssh -n 22 -s ssh 192.168.0.0/16
and this one here can be used in a parallel scan. two hosts scan the specified networks randomly, and this is the first host:
scanssh 'random(0,rsd)/split(1,2)/(192.168.0.0/16 10.1.0.0/24):22,80'
periodt. copy those exactly, don't get creative with the quotes. π
π BUGS π
at the moment, scanssh leaves a one line entry in the log file of the ssh server. it is probably not possible to avoid that. so... yeah. she's loud. she leaves receipts. π
bestie this whole page is from the Debian build, dated July 17, 2000 β old money, still slaying. go scan something responsibly, ily, bye πβ¨π
π¦ where this page comes from
- alpine 3.24: scanssh-doc 2.1.4-r0 Β· BSD-3-Clause
- fedora 43: scanssh 2.1.4-1.fc43 Β· BSD-3-Clause
- fedora 44: scanssh 2.1.4-1.fc44 Β· BSD-3-Clause
- ubuntu resolute: scanssh 2.1.3.1-2 Β· BSD-3-Clause
- Copyright 2000 Niels Provos <provos@citi.umich.edu>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms