Short: V0.9 TCP/UDP Portscanner + more with MUI interface Author: ian.chapman@bleach.demon.co.uk (Ian Chapman) Uploader: ian.chapman@bleach.demon.co.uk Version: 0.9 Type: comm/net Requires: MUI, TCP/IP Stack, reqtools.library, busy.mcp ---------------------------------------------------------------- Go Portscan 0.9 ---------------------------------------------------------------- TCP/UDP portscanner with a MUI graphical user interface. Go Portscan! currently has the following features. Features -------- * Graphical User Interface (MUI). * Localisation support. * Supports both TCP and UDP port scans with highly flexible port selections. * Optional output logging from open ports. * Optional wakeup sending. * Configurable timeout and delay. * Service and Trojan lookup table (approx 3500 entries) with support for using the stacks own service table. * Optional trojan lookup. * User lookup of service by port number or keyword (both case sensitive and insensitive). * Host bookmarks. * Telnet/FTP/HTTP to open ports. * Host resolving facility with support for reverse lookups. * Ping facility with broadcast support. * Ping Sweep facility with optional DNS lookup and ICMP message reporting. * UDP "Ping" Support * Traceroute with support for both UDP and ICMP types with optional DNS lookup and configurable hops. * AREXX Support. * Extensive documentation and bubble help. * Scans approximately TCP 170 ports/sec (Based on 060@50Mhz, 10Base2 Connection, Ping Time 2.7ms) History ------- Version 0.9 ----------- ADDED: More services to internal service table. ADDED: UDP support to traceroutes. ADDED: UDP Pings. ADDED: Traceroute now reports both hostnames & IPs if the 'DNS Lookup' option is selected. ADDED: Traceroute now reports in greater detail why the remote host could not be contacted. ADDED: Ping now calculates packet loss, both as a percentage and the raw number of lost packets. ADDED: Ping now reports the time taken to receive a reply. ADDED: Hungarian locale. (Thanks to Marton Dosa). FIXED: Traceroute is now SIGNIFICANTLY faster. Really stupid bug where a 'while' loop and been used when a simple 'if' would have sufficed. FIXED: Traceroute did not report when hosts along the path failed to respond FIXED: Slight bug in localisation code. An entry in the cycle gadget was using the wrong variable on the service lookup window. (Thanks to Marton Dosa) FIXED: Fixed a few potential memory leaks. OPTIMISED: TCP and IP datagram checksumming. CHANGED: Altered layout of ping display to accomodate more fields. Version 0.8 ----------- -ADDED: Localisation support! -ADDED: Traceroute Facility using ICMP echo requests -ADDED: Configurable Max Hops for traceroute -ADDED: Optional DNS lookup for traceroute -ADDED: Ping Sweep Facility, both incremental and decremental sweeps -ADDED: Optional DNS lookup for Ping Sweep -ADDED: Optional non-echo ICMP message reporting for Ping Sweep -ADDED: Ability to specify number of addresses to sweep. -ADDED: More services to internal service table. -ADDED: "Write to Log" button. Dumps the contents of the listview to the logfile -FIXED: The ping facility didn't discard ICMP message intended for other applications -FIXED: Harmless bug where the ping facility would send one more ping than specified (Thanks to Todd Oberly). -FIXED: Harmless bug in port parsing routine. This happened when a range was specified with both values above 9999. For example 10000-11000 would get parsed as 10000-1100 because the parsing buffer was one character too small. -FIXED: Insignificant bug with two buttons showing the wrong bubble help. (Thanks to Marc Bradshaw) -FIXED: Cleaned up the logfile output a bit - such as missing carriage returns. (Thanks to Todd Oberly) -FIXED: Stupid bit of legacy code which meant you couldn't select a file for saving the log to, directly from the file requester. (Thanks to Todd Oberly) -CHANGED: Massive rework of the interface - again. Mainly because of the new things which have been added. -CHANGED: The helper window now has a close gadget (Thanks to Todd Oberly) -CHANGED: Moved the "Mui Settings" and "Preferences" menu items to a new menu called "Settings" (Thanks to David Rey) -CHANGED: The bookmark window now closes automatically when you double click on an entry (Thanks to Todd Oberly) -CHANGED: Moved cycle-chain code from deprecated MUI V2 style to MUI V3. -OPTIMISED: Optimised core routines saving 340 bytes, increasing scan speeds (probably only noticeable on 68000 or 020). -OPTIMISED: Optimised port scanning routine. Needs 16 - 24 bytes less memory per port saving up to 1.3MB!!! on a full 1-65535 port scan. I was allocating a new sockaddr structurecd per port, when the same one can be re-used. Version 0.7 ----------- -ADDED: Ping Facility including broadcast support. -ADDED: Added ping preference option -ADDED: Resolve Facility. This replaces the "Resolve Window" for a cleaner interface to the program. Note: If you use AREXX make sure you re-read the window related AREXX functions. -ADDED: Resolving now supports reverse lookups and also lists *all* IPs the host is known by, not just the official one -ADDED: TCP/IP Stack Service Table support. You can now use the service table provided by your TCP/IP stack, instead of Go Portscan's internal lookup table. This means you can customise your entries. -ADDED: Preference option to choose between internal lookup table, or TCP/IP stack service table. -ADDED: Installer script -ADDED: Choice of icon sets (Thanks also to Luca Longone) -ADDED: A bit of eye candy - a Go Portscan! logo. -ADDED: Custom App Icon support -ADDED: TCP scans now attempt to report if the remote machine is offline or running a firewall. In cases such as these, it has the effect of causing the interface to be "locked" for about 30 secs until the connect() call times out. Go Portscan! has *NOT* crashed, it is just an annoying side effect of using blocking I/O -ADDED: Two new AREXX commands -FIXED: Minor bug in logfile routine. New UDP scans would be written as new TCP scans. -FIXED: Potentially nasty bug where under rare conditions, aborting a udp scan could cause it to be illegally thrown into the end of the tcp scan routine -FIXED: Not all of the helper fields on the preferences window were in the TAB cycle chain. This has now been fixed :) -FIXED: Previously, if you had added entries to the bookmarks list, then quit Go Portscan! while the window was open, your bookmarks would not have been saved. This should now be fixed. -FIXED: I thought I'd fixed this for good in 0.6 but still under some circumstances your bookmarks would get corrupted. I really hope I've fixed this now :-) -OPTIMISED: Completely re-written the error handling routines to use exceptions. This makes the source code much cleaner and it should handle low memory situations much better. -CHANGED: Go Portscan! now requires your TCP/IP stackto be running before it starts up. This tidies thing up a bit. Version 0.6 ----------- -ADDED: UDP scanning. The UDP scanning code is somewhat experimental because of UDP being an unreliable protocol and is liable to significant changes. Please tell me how well it does/doesn't work for you. -ADDED: AREXX support!! 20 commands added -ADDED: One AREXX script -ADDED: Scantype option to perform (TCP Only, UDP Only, TCP then UDP, UDP then TCP) -ADDED: A few changes to how the GUI works, these are barely noticeable but tidy things up a bit more. -ADDED: There are now two binary versions. One for 68000 based machines (and above) and a version with slight optimisations for 68020 based machines and above. -FIXED: Previously a harmless bug existed in the parsing of the ports to scan routine which could make Go Portscan! scan port 0 several times at the end of a scan. The parsing routine has now been completely rewritten differently and should solve this. It should also use slightly less memory :) -FIXED: Memory leak which sometimes caused enforcer hits when performing serveral scans. This 'appears' to be sorted. -FIXED: A nasty bug concerning bookmarks which could end up screwing up your bookmarks, deleting them altogether or causing enforcer hits. -OPTIMISED: Several routines which handle the MUI interface have been optimised reducing source code size. -OPTIMISED: Routines to handle the logfile have been altered, reducing the size of the source code, although you may notice more Open(), Close() operations if you run SnoopDOS Version 0.5.1 ------------- -Quick Fix version. Some dummy code was accidentally left in the program which tried to open locale.library V44+ even though Go Portscan! does not require it (yet). The problem did not effect users of OS3.5 and OS3.9. Thanks to all the users who pointed this one out :) Version 0.5 ----------- -ADDED: Speed Slider to control the speed of scans. -ADDED: Resolve Host option. Resolves hostname to IP, official name and any aliases. -ADDED: the ability to use more helpers instead of just telnet -ADDED: yet more trojans -ADDED/FIXED: online help depending on how you look at it :) Pressing HELP on any Go Portscan! window will open an AmigaGuide file about it. This requires GoPortscan!.guide to be in the same directory as Go Portscan! (PROGDIR:) -FIXED: 'locahost' problem. Now says 'localhost' by default [Thanks to all the people who pointed this one out] -FIXED: enforcer hit when adding a custom range, just after closing the bookmarks window. Problem was caused by attempting to close the same file twice. [Thanks to Todd A. Oberly] Version 0.4 ----------- -ADDED: More multi-threaded. For example the bookmarks and service lookup window can be used simultaneously. -ADDED: busy bar which appears during lengthy operations. (Requires busy.mcc & busy.mcp) -ADDED: "Show Trojans" option -ADDED: "Show Trojans" option to preferences. -ADDED: file requesters for the log file. (Requires reqtools.library) -ADDED: user-definable ranges -ADDED: more services & trojans. Version 0.3 ----------- -ADDED: menus - Preferences, Bookmarks -ADDED: Preferences - Go Portscans! configuration can now be saved -ADDED: Booksmarks - Bookmark hosts for scanning -ADDED: Bookmarks are automatically sorted in alphabetical order -ADDED: Open Bookmarks Button -ADDED: Massive cosmetic changes to the GUI. Changed the layout of the gadgets from a left to right layout, to a top-down layout. -ADDED: Double Clicking in the listview will now automatically telnet to that host on that port -ADDED 'Default' option to the portrange cycle gadget -CHANGED: Changed it so that when Wakeup is selected, read ports is automatically selected. (Wakeup requires read ports to be selected) -CHANGED: Changed it so that when Read Ports is deselected, wakeup is automatically deselected. -ADDED: More services and trojans added -CHANGED: Changed the way trojans are listed -ADDED: Minor optimisations of GUI code. Version 0.2 ----------- -ADDED: menus - About, MUI About, MUI Settings, Service Lookup, Iconify, Quit -ADDED: service lookup feature. Manual lookups can be performed by port number or a keyword search. Both case sensitive and insensitive searches can be performed. -ADDED: about window -ADDED: tab cycle chains. -ADDED: lots of new services to the service table. -ADDED: Minor changes to the GUI layout (some buttons moved, button ghosting) -ADDED: rewrite of the source code, in preparation for localisation in a future version as well as tidying up some routines. -ADDED: changes to various texts such as bubble help. -ADDED: Completely re-written documentation. Now in Amiga Guide format. -ADDED: Online Help. -FIXED: Minor bug fix in the layout of the logfile. Version 0.1 ----------- Initial Release.