Man Linux: Main Page and Category List

NAME

     scanssh - scans the Internet for open proxies and SSH servers

SYNOPSIS

     scanssh [-VIERph] [-s scanners,...] [-n ports,...] [-u socks hosts,...]
             [-e excludefile] addresses...

DESCRIPTION

     ScanSSH scans the given addresses and networks for running services.  It
     mainly allows the detection of open proxies and Internet services.  For
     known services, ScanSSH will query their version number and displays the
     results in a list.

     The adresses can be either specified as an IPv4 address or an CIDR like
     IP prefix, ipaddress/masklength.  Ports can be appended by adding a colon
     at the end of address specification.

     Additionally, the following two commands can be prefixed to the address:

     random(n[,seed])/  The random command selects random address from the
                        address range specified.  The arguments are as
                        follows: n is the number of address to randomly create
                        in the given network and seed is a seed for the pseudo
                        random number generator.

     split(s,e)/        The split command is used to split the address range
                        in several unique components.  This can be use to scan
                        from serveral hosts in parallel.  The arguments are as
                        follows: e specifies the number of hosts scanning in
                        parallel and s is the number of the host this
                        particular scan runs on.

     The options are as follows:

     -V              Causes scanssh to print its version number.

     -I              Does not send a SSH identification string.

     -E              Exit the program, if the file containing the addresses
                     for exclusion can not be found.

     -R              If addresses are generated at random, this flag causes
                     the program to ignore excluded addresses from the exclude
                     file.  The default behaviour is to always exclude
                     addresses.

     -p              Specifies that ScanSSH should operate as a proxy
                     detector.  This flag sets the default modes and default
                     scanners to detect open proxies.

     -h              Displays the usage of the program.

     -n ports,...    Specifies the port numbers to scan.  Ports are separated
                     by commas.  Each specified scanner is run for each port
                     in this list.  The default is 22.

     -u socks hosts,...
                     A list of comma separated host:port pairs of SOCKS
                     proxies that scanssh should use to scan through.

     -s scanners     Specifies a number of scanners should be executed for
                     each open port.  Multiple scanners are separated by
                     commas.  The following scanners are currently supported:

                     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.

     -e excludefile  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.

     The output from scanssh contains only IP addresses.  However, the IP
     addresses can be converted to names with the logresolve(8) tool included
     in the Apache webserver.

EXAMPLES

     The following command 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

     The following command can be used in a parallel scan.  Two hosts scan the
     specified networks randomly, where this is the first host:

     scanssh ’random(0,rsd)/split(1,2)/(192.168.0.0/16 10.1.0.0/24):22,80’

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.