Copyright: Copyright 1995 John A Junod


Help Index
WS_Watch Help Index

Windows Sockets Net Monitor (WS_Watch)

Copyright © 1995 John A. Junod.  All rights reserved.

License

Description

Requirements

Installation

Main Window

Using Edit Mode

Setting Options

About the author

This help documentation is under construction, just like the program itself.  There is much that is still not documented and some of what is here may be incorrect.


Copyright and License
License Information

Copyright © 1995 John A. Junod.  All rights reserved.

This program in its current version may be freely distributed and may be freely used.  This may or may not be true of all future versions.  The ONLY restriction is that this version may NOT be SOLD.  You can include it on distribution diskettes and CD-ROMs provided such is not for the sole purpose of distributing this program.  Documentation accompanying such distribution must contain this notice and the statement:
WS_Watch is Copyright © 1995 John A. Junod.  All rights reserved.

THE INFORMATION AND CODE PROVIDED IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL JOHN A. JUNOD BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF JOHN A. JUNOD HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  IN ANY CASE LIABILITY WILL BE LIMITED TO THE AMOUNT OF MONEY THAT JOHN A. JUNOD RECEIVED FROM YOU FOR THE USE OF THIS PROGRAM.

This program was developed entirely on personal equipment using personal time and personal resources.  My association with the U.S. Army has no bearing on the design or implementation of this program nor does it imply that the U.S. Army, Fort Gordon, the United States Military Academy or the U.S. Army Computer Science School endorse the use of this program.


Description

The primary purpose of this program is to make active checks on hosts that are listed in its database file and to graphically display the status of those hosts.  In addition, this program provides access to finger, whois, ping, traceroute and name server lookup.

Since this program is still being developed, there are some things that are not the best in the world (like the map editor) and things that may not work correctly.  If you find something that does not seem to be working correctly or want to make a suggestion on features to implement or how to implement a feature, send me mail.  I will not guarantee that I will respond to your mail (I would not have time to do any development if I responded to all my mail!), but you can be sure I will read it and consider any suggestions and attempt to correct any problems.  Please also realize that I am developing this program un-funded so development is not constant.  Development of this program is not a part of any of my real jobs.

This program can also read .DB files created by my EGA Netwatch program (which requires FTP's PC/TCP to work).

Session settings are saved in the WS_WATCH.INI file in your WINDOWS or WINNT directory.  It is be safe to delete this file anytime you want to set things back to default.


Requirements

This program requires Windows NT or Win32s and a working Windows Sockets DLL. (It works best on Windows NT or Windows 95)

This program is designed to work on any Winsock DLL, however it works BEST on the Microsoft TCP/IP 32 stack that comes with Windows NT 3.5 and Windows 95.  In the Windows 3.x environment it works best on a stack that supports raw sockets (such as Ipswitch's Acadia, FTP PC/TCP, Novell LWP, Trumpet Winsock, Netmanage, etc..).  It DOES work on Microsoft's TCP/IP stack for Windows for Workgroups however it uses a completely different method for determining if a host is up or not. (This MAY not work with your Microsoft TCP/IP-32 under your Win32s.)

This program has been tested on: (refer to ws_watch.txt for further info)

Windows NT 3.5 - Microsoft TCP/IP

Windows 95 - Microsoft TCP/IP

Windows for Workgroups 3.11 - Ipswitch Acadia 1.0 - Win32s 1.2

Windows for Workgroups 3.11 - SuperTCP - Win32s 1.2

Windows for Workgroups 3.11 - Trumpet 2.0b - Win32s 1.2


Installation

1.  Install a Windows Sockets stack.

2.  Install Win32s (if you are using Windows 3.x)

3.  Make a directory and copy WS_Watch.EXE and WS_Watch.HLP to the directory.

4.  Make a link in your program manager to point to WS_Watch.

5.  Create your own map, MAKE SURE YOU SAVE IT!!


The Main Window

The Main Window of WS_Watch graphically displays the database of items and networks that it is monitoring and provides menus to access the other features of WS_Watch.

Items that are responding to the monitor are displayed in green. Items that are not accessible or have not responded to 4 consecutive monitor requests are displayed in red. Items that are displayed in yellow have missed at least one monitor request.  Note that these colors are changable by pressing the Color button in the Options dialog.

To display additional status information about a item, you can point to the top left corner of an item and depress the left mouse button. (See Host Information)  The small window will remain on the screen as long as the left mouse button is depressed.  Additionally, you can double click on the top left corner of the item and the window will remain open until you click on the OK button.

To access some of the advanced features of WS_Watch, you can click the right mouse button on the top left corner of a item and a pop-up menu will appear.  Provided the environment you are working in supports it, you can then ping the item, trace the route to the item or edit the items properties.


Using the editor
Using edit mode

The purpose of this program is not to draw fancy pictures!  So do not expect too much from the editor.  I will, however, continue to improve it.  (secondary priority)  Sorry if its cryptic!

Basically the editor uses the left mouse button to work with hosts and the right mouse button to work with lines (or nets).  (You can actually create new hosts and delete old hosts by bringing up the popup menu on the normal desktop and selecting New->Host from the popup menu.)

CREATING A NEW HOST
To create a new host in edit mode, select the Add->Host menu item and then drag the NewHost symbol to its desired location and click the left mouse button.  At that point, a dialog will appear requesting the items information detail.  (See Host Information)  Optionally, you can point to an open area in the map and click the right mouse button and select New->Host from the pop-up menu while in the normal display mode.

MOVING A HOST
To move a host, point to the top left corner of the host (in edit mode), hold the left mouse button down and drag the host to its desired location.  Optionally, you can hold the SHIFT key down and drag a host with the left mouse button while in the normal display mode.

CHANGING HOST INFORMATION
To change a hosts information, double click on the host (in edit mode).  Optionally, you can point to an item and click the right mouse button and select Properties from the pop-up menu while in normal display mode.

DELETING HOSTS
To delete a host, select the Delete->Host menu item and point to the top left corner of the item to delete and click the left mouse button.  Optionally, you can point to an item and click the right mouse button and select Delete from the pop-up menu while in normal display mode.

CREATING A NEW LINE
To add a new line, select the Add->Line menu item and point to one of the end points for the line and click the right mouse button.  After releasing the mouse button, a line will follow the mouse from that end point as you move the mouse.  Move the mouse to the other end point and click the right mouse button.

MOVING A LINE
To move an existing line, point to an end point, press and hold the right mouse button down and drag the end of the line to its new end point and release the right mouse button.  When multiple lines terminate at the same location, you may have to move lines out of the way to get to the line you want to move. Optionally, you can hold the SHIFT key down and drag a line with the right mouse button while in the normal display mode.

DELETING A LINE
To delete an existing line, select the Delete->Line menu item and point to the end of the line you wish to delete and click the right mouse button.  When multiple lines terminate at the same location, you may wish to move other lines out of the way before to insure you delete the desired line.


Host Information

DISPLAY NAME:
This is the name that is displayed on the screen and should be from 1 to 8 characters long.

ADDRESS/NAME:
This can be a name that can be resolved or it can be an IP address.  This field is limited to 25 characters.

INFO LINES 1 & 2
These fields are purely informational and can be used as you see fit.  I would suggest putting in the POC for a system or location or description in these fields.  This information is displayable by clicking on the hosts during normal operation.

CONNECT PRGM:
The command entered here is executed with the IP address of an item as the last argument on the command line when you select Connect from the popup menu for a item.

SYSTEM TYPE:
This option is used to select the icon to display when the Use Icons option is enabled.  Select the desired type from the drop down list.

TYPE:
Currently, only TCP/IP or None are selectable.  This defines for the system how to talk to the item.

MONITOR:
When this is selected the item is checked on each poll.  If this is not checked (or if None is selected as a Type), the item is displayed as gray.


System Options

You can change a number of options by selecting the File->Options menu item in the main window or by pressing the Options button in various dialogs.

SECONDS BEWEEN CHECKS
This is the number of seconds between polls.  The countdown of this is displayed in the title bar of the window if the Show Timer in Title option is enabled.

DISABLE AUTO CHECK
If this option is enabled, the program will not automatically poll items for their status.  You will have to press the CHK button in the lower right corner of the screen to find the current status of the items.  All other functions of the program are available in this mode.

SECONDS TO WAIT BEFORE TIME-OUT
This is the number of seconds to wait for a response from a host.  This should be set to the smallest possible value.  For a local network, a time-out of 2 seconds is usually valid.  For a long distance (or slow path) network, this time-out may need to be as high as 10 seconds.

TELNET
Program to execute when the user selects Tools->Telnet and default tool for Connect popup menu option.

FTP
Program to execute when the user selects Tools->FTP (make sure you take a look at WS_FTP, another excellent program I wrote!)

ENABLE SOUNDS
Controls the sounding of the alarm when a host goes down or comes up.

FIXED FONTS IN MAP
Changes handling of fonts in item display.  Try it both ways!

FIXED FONTS IN TOOLS
Changes handling of fonts in tool displays like whois, finger, lookup, etc..

RAW SOCKET ICMP PING
This should be selected if you are using a stack that supports raw sockets, such as Ipswitchs Acadia, FTP Incs OnNet, Trumpet Winsock, etc.

MICROSOFT ICMP PING
This should be selected if you are using Microsofts TCP/IP 32 on Windows NT or Windows 95.  If this is checked and you are not using the correct platform, you will get an error on ICMP.DLL.

SHOW TIMER IN TITLE
Toggles the timer in the title.

SOLID BACKGROUND
The background can either be the same color as your desktop or one of the solid colors that is available in the Colors dialog.  If the option is unchecked, the program will use the color of your desktop (this can be changed from the control panel or in the screen properties).  If the option is checked, the program will use the nearest solid color to the color that you have set in the Colors dialog  Changes to this option do not take affect until you restart the program.

USE ICONS
The system will display Icons in place of the simple host name if this is checked.  The type of icon is determined by the System Type property of the item.

LABEL ICONS
The simple name will be displayed below the icon when Use Icons and this option are enabled.  Note that the color of the background under an icon is the nearest solid color to the current color of the icon.


Known Problems
Hints and Known Problems

DO NOT EXIT THIS PROGRAM WHILE A CHECK IS IN PROGRESS!  If you do, you may have to reboot the system to rerun the program or to remove file concurrency errors on the EXE.  There are checks to help correct this situation but they are not 100% complete.

Appears to be a bug when running on Win32s on the Microsoft TCP/IP stack.  Works on some systems and not on others.  Program seems to time-out on all remaining hosts after the first host fails. This MAY be a problem in my timer routines so I am looking at that.

You MAY have to move other lines out of the way before you can reference the line you want.  When deleting a line, you need to try to click on an end of the line where no other lines meet it.


About the author

The following is provided so that you have an idea of who I am, why I write programs like this and so you may understand my lack of response to much of my electronic mail.  (I do still read it, so keep it coming!)  My future is that I will stay in the Army until at least May 1998, so this is NOT a thinly veiled resume looking for a job.

I am a Master Sergeant in the United States Army, currently stationed at Fort Gordon, Georgia, as the NCOIC (Non-Commissioned Officer In-Charge) of the PDNEB (Professional Development Network Engineering Branch) at CSS (the U.S. Army Computer Science School).  The PDNEB primary mission is to improve network connectivity and network services for the PDN (Professional Development Network) organizations.  Secondary missions include improving network connectivity and network services for the U.S. Army Signal School and for Fort Gordon.

I have been in the Army since 1978 and have served as a Forward Observer, a Brigade Fire Support NCO, Instructor (computer), the NCOIC of the GoldCoats at West Point, the Chief of Academic Network Engineering Branch at West Point and the NCOIC of Technology Integration Division at CSS.

My awards in the Army include the Legion of Merit, numerous Army Commendation Medals, Army Achievement Medal, Good Conduct Medals, Overseas Service Ribbon, and NCO Professional Development Ribbon.  My Army education includes 13F AIT, 74F AIT, Primary Leadership Course, Basic Non-Commissioned Officers Academy (13F) and Advanced Non-Commission Officers Academy (74F) (I was a distinguished graduate from most of these.).  My civilian education includes a High School Diploma, 2 years trade school for Auto Mechanics and an Associated Degree in Computer Science.

I worked as an auto mechanic for two years after graduating from high school in Greenville, Illinois and then worked for four years as an industrial electrician before joining the Army.

I started with computer programming by learning Basic and then Machine Language programming on a TRS-80 Model I starting in 1979.  Some of my accomplishments in that arena were a complete operating system of my own, a tactical forward observer training program, a menu system (later known as Gmenu or Vmenu), a OS Shell (later known as Auto or Valet) and a few games.

In 1981, I picked up Cobol programming through the Army.  From 1982 through 1986, I taught IBM DOS-E (mainframe) internals and debugging, Cobol Programming, Basic Programming, Systems Analysis and Design, GCOS (honeywell) and picked up IBM (mainframe) and GCOS (honeywell) Assembler Language programming.  I also taught some of the above courses for University of Maryland and City Colleges of Chicago (overseas).

In 1986, I started learning about IBM PCs and MS-Dos.  I developed a few assembler language programs based on older TRS-80 programs such as Auto and Gmenu.   I also learned C, Pascal and FORTRAN around this time and released a few shareware games written in C and Pascal.

I was introduced to UNIX in 1987 and developed a whole series of programs for UNIX in C, including a version of Gmenu (menu shell), Gmail (mail interface for sendmail, mmdf and more), Rbbs (USENet interface), FSE (full screen editor), Ginput (forms input system) and a simple hypertext information system.  Much of this was later adopted by the Army and distributed with standard systems.  It is all still in use at West Point and full source code is available.   Some parts of it were also adopted by colleges and universities across the country.  Over 90% of the development of all the UNIX programs was performed at night at home in addition to my regular military duties.

Also in 1986, I was introduced to the world of networking and went on to help develop the extensive TCP/IP network in place at West Point.  My involvement included design, installation, testing, operation and maintenance of much of the network including both the physical network and the software that ran on the PCs, on network devices and on the host systems.  I was involved in every aspect of the network including implementation of network management tools which is where WS_Watch has its roots.  The network at West Point when I left in 1993 had 12 FDDI routers, 40+ subnets and over 6000 nodes.  There were over 40 UNIX host systems, 15 Lan Manager servers, 3 Novell servers, a couple IBM mainframes, a Unisys 1100 mainframe, a Teradata mainframe, a few DEC VMS systems and other miscellaneous systems on the network, all of which I had something to do with (from a network configuration point of view).  (Myself and two people working for me, did all the system support on 23 of the UNIX systems and provided all the system support on the Lan Manager servers for a couple of years while we did everything else!)  Also at the beginning of this time period I took over the support of the Domain Name Server for usma.edu and assisted in setting up the first army.mil name server.

Since 1993, I have taken on more freelance programming work outside the Army and have produced network related products such as WS_Ping, WS_FTP, WS_GMail, WS_News and WS_Watch.  This is outside of my normal job where I have been assisting in the design of a new network at Fort Gordon and in moving Fort Gordon into the future of automation.  Our current network initiatives include implementation of ATM in conjunction with the Army SBIS program (an addition to).  One of our accomplishments here is in the setup of the Signal Center Web Home Page at http://www.gordon.army.mil.

My hobbies are (you guessed it!) computer programming, chess, working on cars, building car models and spending time with my wonderful wife Denise, my three daughters and my grand-daughter Madison.

John A. Junod

267 Hillwood Street

Martinez GA 30907

(706)-860-5308

<junodj@css583.gordon.army.mil>

<72321.366@compuserve.com>