                                  Go Portscan!
                                 by Ian Chapman
                         ian.chapman@bleach.demon.co.uk

                                 THE QUICK DOCS

DISCLAIMER
==========

Use of this software is entirely at your own risk. You accept any consequences
whatsoever as a result of using this software. The author does not support the
use of this software as part of a hacking attempt, to gain unauthorised access to
a system or as an aid in a denial of service attack.


1. Introduction.
================

Go Portscan! is a TCP portscanner with a graphical user interface which scans
all, or a specified number of ports on a machine to see which ports are open.
Portscanners are a useful tool for checking the security of your system,
especially if it is part of a public network or used for connecting to the
internet. Go Portscan! currently has the following features.

GUI (MUI)
Flexible port selections for scanning
Logging output from open ports
Sending a wakeup to open ports
Configurable Timeout
Service and Trojan Lookup Table (approx 3250 services/trojans in the table)

Go Portscan! can scan about 170 ports/sec with service lookup (verbose) enabled.
(Based on 060@50Mhz, 10Base2 Connection, Ping Time 2.1ms)

2. Usage
========

When the program loads you'll be presented with an interface which contains a
listview in the left half, and some gadgets in the right half. The listview is
used to display output, such as details of open ports

Host
----
Enter the hostname or IP address of the server which you wish to portscan

Ports
-----
Enter a list of the ports which you wish to portscan. Port numbers are comma
separated and ranges of ports can also be specified, for example

            7,9,20,200-500,601

This means, scan port 7, 9, 20, all ports from 200 to 500 inclusive and port
601.

Range
-----
This is a drop down box which simply enters some predefined port ranges for you.

    Common :    A list of ports which are often open on many systems
    Well Known: Ports 0 - 1023
    Registered: Ports 1024-49151
    ALL       : Ports 0 - 65535

Log
---
Location and path of the log file. All output sent to the listview is written to
the log file including data read from open ports. Data which is read from open
ports is not written to the output listview because it may contain binary or
special control characters which are likely to screwup the listview. If the
logfile already exists then any information produced from subsequent scans will
be appended to the log file.

Read Ports
----------
If this option is selected, then Go Portscan! will attempt to read and log any
information which is sent out from the port. This may help you identify which
service is being run on that port. NOTE: Any data read from open ports is NOT
written to output listview. See above.

Verbose
-------
If this option is selected, then Go Portscan! will perform a service lookup on
open ports and display it in the output listview. Please note, that these
services or trojans *may* be running on that port. It does not guarantee it.

Send Wakeup
-----------
Some open ports may only respond if they receive data first. Sending a wakeup
sends two carriage returns in order to provoke a response from the open service.
This option only makes sense, if you have verbose selected. Two carriage returns
are used because they are considered generic enough to provoke a response from
most services without having any side effects such as crashing the service.

Timeout
-------
The length of time in seconds Go Portscan! should wait for an open port to
respond before timing out and continuing onto the next port. Avoid setting this
too high.

Go Scan
-------
Start the port scan

ABORT
-----
Attempt to abort the current operation

Working On
----------
This displays the current port number that Go Portscan! is trying to
connect to, or read from.

List Known Services
-------------------
Displays a list of all known services and trojans along with their port number
to the output window.

3. Tips
=======

Some info to be taken into consideration when portscanning.

    1. Be very careful which machines you port scan. Scanning machines which you
       don't have authority over (especially on the internet) may be construed as a
       hack attempt.

    2. Don't set timeout values too high, especially when scanning a large
       amount of ports as the interface will be locked until Go Portscan! gets a
       response from a service or eventually times out. It may also
       significantly increase scanning time.

    3. Attempting to read ports will increase scanning time, especially if there
       are a large amount of ports open.

    4. The maximum amount of information that Go Portscan! tries to read from an open
       port is 1k. The amount of info you'll actually receive depends on several
       factors. Go Portscan! only reads the receive buffer once per open port,
       therefore any data which arrives in the receive buffer, after that read will not
       be captured. The speed of your connection will have an impact on this. Also the
       final factor is simply the amount of info the server actually sends.

    5. It may sound obvious, but the speed of your connection will affect the
       speed of your overall scan, even if you don't try to read open ports.

4. Future
=========

This is a very early release, so yeah there are probably bugs in it :) There's
certainly loads more features which could be added if I get enough feedback
about the program (ian.chapman@bleach.demon.co.uk). Some of the things I would
like to add in the future are:

1. Extensive AREXX command set.
2. Scanning of blocks of IPs.
3. User definable ranges which can be saved.
4. User definable buffer size (for reading open ports)
5. More services and trojans.
6. Preferences
7. File requestor for the log file.
8. Optional log formats.
9. Configurable wakeup
10. Telnet to any open port by clicking on it in the list
11. Ping option
12. Traceroute Option
13. Intelligent auto-configuraion based on connection speed.
14. Bookmark Hosts.

Feel free to send me any comments or suggestions at the above E-Mail address.
