MacTCP Watcher v1.0.0 © 1993 Peter N Lewis. This program is free for any use (except you canÕt sell it obviously). ¥ Contents What MacTCP Watcher Does Using MacTCP Watcher How It Works Limitations Small Print Warranty Fine Print Acknowledgements Version History The Author ¥ What MacTCP Watcher Does MacTCP Watcher displays the internals of MacTCP, including a list of all the current TCP connections and information on them. I tried to report errors as much as possible, so it should be possible to use it as a test program, at least as far as checking that MacTCP initializes correctly. It will also test the Domain Name System, as well as test sending UDP and TCP echos, and ICMP Ping packets. The echo tests require a nice unix box to support the echo ports, so to get around this, IÕve also implemented a UDP and TCP echo port server in MacTCP Watcher, so you can test it to yourself, as well as to other Macs running MacTCP Watcher. Note: DNS means Domain Name System, it is the service that converts names (like sumex-aim.stanford.edu) into IP numbers (like 36.44.0.6). ¥ÊUsing MacTCP Watcher Simply run it and play with the windows. There isnÕt much I can describe except the information, and for the most part, your guess is as good as mine (or at least, if you donÕt already know what an entry means, itÕs unlikely IÕll be able to explain in to you). To test out MacTCP on your Mac, do this: Launch MacTCP Watcher. Choose Show MacTCP Info, note the IP number at the top right. Choose Test ICMP, and type in the IP number. If any of these three fail, MacTCP is most probably badly configured. Check the configuration in the MacTCP Control Panel. If it looks ok, reinstall MacTCP by delete MacTCP, MacTCP Prep, and MacTCP DNR from all folders in the System Folder (ie, the System Folder, Preferences, Control Panels, and Extensions). Reinstall the control panel from the original disks, and reset the configuration. Reboot. Try again. If it still fails, you have a problem, try reading Eric BehrÕs MacTCP Info file, included (I hope) in this package. If it still fails, you're probably going to have to talk to a local expert. If you are the local expert, you really have a problem. Ok, now try Test UDP and Test TCP to your Mac's IP. They should work. Now, find another machine on the network, as near (network-wise) as you can manage (a Mac running MacTCP Watcher that passes the above tests will do, a unix machine will also do). Using its IP, try the ICMP test. If that works, try the UDP and TCP tests as well. Some unix machines do not support the UDP or TCP tests, you can see if they support the TCP test by telneting to port 7 on the machine in question, if it connects and echos what you type, it works, and should pass the test. Repeat the above for various machines further away. Ok, now test your Name Server. Try the DNS Test with a name of a near by machine, it should tell you the IP. Now try again with the IP, it should tell you the name. Repeat for your Mac, and for other names and addresses. If none of these work, then your MacÕs DNS is badly set up. Read EricÕs MacTCP Info document. Basically, the DNS should be set up in the control panel like this: [Sorry for the spaces, but Text Edit doesnÕt offer much choice] your.domain 1.2.3.4 (default) . 1.2.3.4 ( ) . 5.6.7.8 ( ) Where 1.2.3.4 is your primary name server, and 5.6.7.8 is your secondary. The domains for the second two are just a period (.). If the name lookup works (ie, finds the IP address), but the reverse doesnÕt find the name, this generally indicates a problem with the Domain Name Server itself, ask the administrator of the machine why it fails. ¥ How It Works It simply calls the MacTCP driver and asks it for the information, and displays it. The ICMP Test sends 10 ICMP Ping packets, and counts (and matches) the replies. The UDP Test sends 10 UDP echo packets to port 7 and counts (and matches) the replies. The TCP Test connects to the TCP echo port (port 7 again) and sends a line and checks for the response. The DNS Test looks up the IP for the name, or the name for the IP. All tests will accept either names or IP numbers, but obviously if you use a name, you are implicitly testing the DNS. A server for each of the TCP and UDP echo ports echos anything sent to them. MacTCP automatically echos the ICMP Ping packets. ¥ Limitations MacTCP Watcher requires MacTCP obviously, it should work with System 6 or 7, and probably requires the 128k ROM (or later). ¥ Small Print This program is Freeware, you can use it or distribute it as long as you donÕt charge for it (reasonable download costs such as Compu$erve are ok I guess (although who would call Compu$erveÕs download costs reasonable?)). It would probably be a good idea to keep this documentation file with the program, but IÕm hardly likely to check up on you now am I! I donÕt guarantee any support, but I always answer my Email. If I donÕt answer Email itÕs because your message didnÕt get to me, or my reply bounced (so try again, and include a valid internet address if you can). It may be included on the Info-Mac CD, but not on any other CDs without my permission. It may NOT be included on any disk costing more than $5 without my permission. ¥ Warranty There is absolutely NO warranty, guarantee, hint, suggestion or anything else that would lead anyone to think that MacTCP Watcher does anything stated in this documentation. It usually does not destroy data (systems, hardware, etc), and has sometimes worked on my Mac with System 7.0. It will probably not work with the 64k ROM. It might work with the other models, but I don't have them all, so I don't know. If it works on your system (or especially if it doesnÕt!), send me a postcard or some Email and let me know! ¥ Fine Print Peter Lewis hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. Peter Lewis will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Peter Lewis or an agent of his has been advised of the possibility of such damages. In no event shall Peter Lewis be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software. ¥ Acknowledgements Thanks to everyone on the net for being a lot of fun. ¥ Version History Todo Doesn't seem to work too well with MacSLIP? Dump data to a file Send Unacked data is large negative, WTF does it mean? Connection List doesn't always update? Implement a method to copy the resulting IP or Name from the DNS test Better reporting for the TCP and DNS tests Better reporting of why MacTCP fails on startup. Implement the netstat port perhaps? v1.0.0 ~Dont open the info window if we failed to open MacTCP. v1.0.0d5 ~Longer timeout for ping/UDP packets. ~Open the info window on startup ~Test buttons at the bottom of the Info window? ~Response times for UDP/ICMP packets. ~Command keys for tests ~Show the default IP in the GetIP dialog (ie the last IP entered) ~Added Eric BehrÕs MacTCP Info file - Thanks Eric! v1.0.0d4 ~Way of pinging (ICMP Echo) ~TCP&UDP echo port server ~Imporved the way windows are updated, should be faster and more efficient. v1.0.0d3 ~Way of testing the DNS ~Way of testing UDP ~Way of testing TCP ~Better reporting of errors ~Cleaned up the list window (using an LDEF) ~Smaller Font ~ptr addr -> process name (use Process Manager under System 7 only) ~/etc/services port -> name mapping v1.0.0d1 - sent to JQR ¥ The Author Programs written by me: DeHQX 2.0.0 - BinHex decoder (use StuffIt Expander instead) Finger 1.3.5 - Macintosh Finger client/daemon. Talk 1.1.0 - Macintosh Talk client/daemon. Chat 1.1.0 - Multiuser primitive irc-like daemon. FTPd 2.1.0 - Macintosh FTP server. ObiWan 4.0.0 - Online help system. MacBinary II+ 1.0.2 - MacBinary II+ encoder/decoder. You can get the latest development versions from redback.cs.uwa.edu.au, but please use the major archives for released version if at all possible. Redback is a long long way from most people, and using it wastes bandwidth on the Australian-US satelite link which is overly congested already. So use the versions posted to the archives (like sumex-aim.stanford.edu or mac.archive.umich.edu), and only use the development versions if you have some specific problem - in which case tell me!) Send postcards, comments, bug reports, and wishes to: Peter Lewis, 10 Earlston Way, Booragoon, WA, 6154, AUSTRALIA or by electronic mail to: NOTE: I will be away from May 6 to June 14, 1993. Don't resend any messages until after that time. Internet: peter@cujo.curtin.edu.au Bitnet: peter%cujo.curtin.edu.au@cunyvm.bitnet UUCP: uunet!munnari.oz!cujo.curtin.edu.au!peter Alternative addresses (in order from best to worst) p.lewis@info.curtin.edu.au ilewisp@info.curtin.edu.au peter@ncrpda.curtin.edu.au peter@rocky.curtin.edu.au peter@gu.uwa.edu.au