WinSock icon WinSock Development Tools

This section provides short descriptions of various WinSock application development tools currently available, and pointers to where you can find out more. This includes shareware, freeware and commercial utilities. They're all intended to help you with your WinSock application development, debugging, and support. The focus of this page is utilities, and not on high-level APIs (a.k.a. "middleware").

If you have any WinSock Development tools you'd like to see us add, please let us know by mailing a short description, with a relevant website URL, to And thanks in advance!

The best website for Windows (and WinSock) development tools, source code, and high-level APIs that I've found yet is

[Go to top]

WinSock API Trace Utilities and Hooking Toolkits

Systems, Software, Technology Inc.
This is the home site for Systems Software Technology, Inc., which makes the TracePlus utility to trace winsock calls, and asynchronous notification messages. They have both 16-bit and 32-bit versions available, and provide a sample version (with limited trace capabilities). The latest version includes WinSock 2 support. They also recently released a new product called Web Detective, that monitors a web server for performance analysis, and usage tracking. This uses the Traceplus technology and parses HTTP protocols. These products are highly recommended.
Win-Tech has 16-bit and 32-bit versions of "Socket Spy," both of which provide WinSock function call trace capabilities similar to TracePlus, but without asynch message logging. They have an "Adapt-a-Spy" toolkit that provides a WinSock hooking mechanism to allow monitoring or modification of Winsock function calls and/or data sent or received.
Stardust Technologies, Inc.
Stardust Technlogies has a Windows Component Architecture that provides "redirector" capabilities to any Windows Sockets platform (16-bit or 32-bit). They have an evaluation kit available for download.

[Go to top]

Name Service Utilities

The NSLookup utility from Ashmount Research is a great tool for resolving DNS hostnames. It allows you to specify the DNS server, and uses it's own DNS implementation--rather than the Winsock DLL's--to query. This allows it to request and display MX and CNAME DNS records, in addition to the A records that a standard gethostbyname() requests. I use this tool all the time, and so will you!
Andy Coates' WSHost is as simple as could be: you can look up an address or a hostname, and it uses WSAAsyncGetHostByName() or WSAAsyncGetHostByAddr() to make the request to the WinSock DLL. Do a quick sanity check, or compare results you get with NSLookup.

[Go to top]

WinSock API Test Utilities

The WSATest utility lets you try individual WinSock function calls, and displays the results. It is a great tool for exploring the WinSock API and testing specific aspects of different WinSock implementations. Its origin remains a mystery. I got my first copy in 1993 from an ftp site in Finland, and have used it countless times since. Repeated requests for the developer (to give credit where credit is due) have never been answered. Thank-you very much, whoever you are!!
WSATest Lives! Waseem Siddiqi like WSATest so much, he wrote his own version!! This allowed him to add new functionality, and create a 32-bit version. Now he's made it available to us all. It supports raw sockets, and he's begun adding WinSock 2 support. Waseem has made the source code for this utility available.
The WinSock Application Launcher (WAL) is a flexible test utility that can run as a client or server to support the simple echo, chargen, or discard protocols. You can set the I/O amounts and run in blocking, non-blocking or asynchronous modes. I developed WAL for benchmarking as I wrote Windows Sockets Network Programming .

[Go to top]

Network Trace Utilities

AG Group, Inc.
Their EtherPeek Network analyzer works on both Windows and MacIntosh.
Klos Technologies, Inc.
They have an inexpensive and capable PC based LAN protocol analyzer, with a demonstration version available for download. They also have a serial protocol analyzer (no demo available). Reasonably priced.
MG-SOFT Corporation
MG Soft has Monet LAN Analyzer LITE is the demo version of a DOS-based network analyzer that is useful as is, though of limited functionality compared to their commercial product. Like other packet-driver based network analyzers, it can run in Windows if you install Dan Lanciani's Virtual Packet Driver (NDIS3PKT)
PCA, Inc.
Tom Divine's RAWPEEK utility and RAWETHER VxD provide a barebones network analyzer that display raw hex dumps of the network packets it captures. It is a demonstration utility, designed to show at the application possibility of his RAWETHER Toolkit and source code (which is essentially, an NDIS Driver). Both NT4 and Win95 versions are available.
NOTE: One of the most Frequently Asked Questions is how one can capture all packets in an application, and this RAWETHER source code--along with the requisite VxD Tools from Vireo Software--can provide an answer (whereas WinSock can NOT provide this utility for you).
Precision Guesswork, Inc.
LANWatch is a very capable commercial version of a software-based network analyzer for DOS. It captures and displays network traffic in real-time using most Ethernet cards, and a few Token Ring interfaces. It is capable of decoding most network, transport and application protocols, and includes some source code for adding new protocol decoders. As with other Packet-Driver based Network Analyzers, LANWatch can run in Windows if you install Dan Lanciani's Virtual Packet Driver (NDIS3PKT) Their POCKETWatch product runs on an HP 200LX DOS-based palm top personal computer, a Silicom PCMCIA Ethernet adapter. NOTE: The LANWatch demo displays its network protocol parsing capabilities, but does not actually capture network traffic.
Sniffer FAQ
Internet Security Systems, Inc. provides this list of frequently asked questions about "sniffer" utilities, which includes a few links to freeware versions.

[Go to top]

Network Management Utilities

Dr. Watson, the Network Detective
Karl Auerbach's DWTND is a preemptive network diagnostic tool that can discover problems on your network that you didn't even know you had. Karl has been working in the bowels of Internet protocols since the earliest days, and as DWTND demonstrates, he knows how to find holes in the net. If nothing else, DWTND is a great learning tool, and it's available at no charge. Similar to many of the the Network trace utilities, it uses the Packet Driver as its network driver interface, and is capable of running in Windows 95 if you install Dan Lanciani's Virtual Packet Driver (NDIS3PKT) (though one limitation it has when running in Win95 is that multicast operations are disabled).
John Junod, of WSPING32. That version supports Microsoft's proprietary ICMP API, and uses it to provide traceroute functionality (it changes the IP "Time to Live" to see how many routers there are between your machine and another TCP/IP host).
Another of John Junod's creations, the WS_Watch application provides a low-end network management workstation. It uses ICMP echo requests to check whether IP hosts are active or not. Among other things, you can use it to keep your Internet Service Provider from hanging up on you. WS_Watch works with most WinSock implementations (since most support Berkeley raw ICMP sockets), and can be configured to use Microsoft's proprietary ICMP API. It also provides a front-end to your telnet and ftp client, resolves hostnames and addresses (using WinSock hostname resolution), and does whois and finger.

[Go to top]

Handy Utilities

Network Switcher
If you change your network configuration often on a Windows 95 machine, this is a handy utility to have around! It allows saving any number of network configuration profiles, for easy reload.  Too bad it still makes you reboot each time you change, though (don't you hate that!?). Notice also that once installed this package includes a stand-alone REGDUMP.EXE utility, that dumps the network-related registry entries (which makes for interesting reading).
NetScan Tools
This nicely integrated shareware application by Northwest Performance Software, Inc. provides a suite of all kinds of tools. It has a handy client applications (Ping and Traceroute, Daytime, Quote, CharGen, Echo, TimeSync (NTP), Finger, and Whois), an IDent Server, an NS Lookup utility, a utility to analyze the Services and Network files, and another to display the WinSock version information (WSAData structure contents), as well as list of socket types supported.
This freeware utility from the AG Group, Inc. is another integrated application that includes a suite of handy utilities. The coolest among them is a port scan utility that can quickly discover listening UDP and TCP ports on a system (apparently it does this with its own TCP/IP mini stack, since it works much more efficiently and effectively than possible with the Microsoft detects the first TCP Reset, and sees ICMP Port Unreachables!). It also includes a collection of clients (Ping and Traceroute, Finger and Whois), does hostname lookups (capable of resolving a range of addresses), it can show local host information (local address, hostname, hardware address, DNS servers and subnet mask), it can help with network management with a ping scan (ping a range of addresses).
This simple but handy (and free) utility from Castalia Technologies, Inc. allows testing of TCP clients and servers that have ASCII-based application protocols. It comes with instructions for SMTP and FTP (curious that HTTP is missing). Others that it could be useful with are FINGER, SOCKS v4, Echo, chargen, discard, and others. It runs as either a client or server, listening for client requests on a given port.. A transmission log keep track of all of the data being sent back and forth (but unfortunately, no facility to import a text file to send, nor display or send binary data).

[Go to top]

WinSock DLL Source Code

Waterloo TCP
Erik Engelke wrote this TCP/IP stack for DOS years ago. It isn't source code for a WinSock DLL, but it's the closest thing to it I've ever seen available anywhere.  If nothing else, it is a good example of a TCP/IP stack implementation.

[Go to top]

Non-Windows WinSock

Altura MacWinSock
MacWinSock provides a single network API common to both Windows and Mac OS making it easier to port TCP/IP applications to the Mac OS environment. It has a WinSock 1.1 compliant API for accessing both of Apple's TCP/IP stacks, MacTCP and Open Transport.

[Go to top]

Other Dev Tool Lists

Windows Sockets Programming
Ed Snible has put together a useful collection of concisely annotated links to WinSock programming-related web sites. Check out his WinSock source code pointers!
WinSock Software Development Tools
This site from the Chicago Computer Society (CCS) has lots of good application-level development libraries; mostly .VBX and .OCX "custom controls". A well organized and thorough web site.
WinSock Diagnostic Tools
Another CCS site that provides a good collection of essential diagnostic utilities, like ping and trace route, as well as WinSock tracing, and benchmarking. Lots of useful stuff here.
Information Filtering Resources
The Internet is synonymous with information, and lots of it, so Internet navigation and utilization is synonymous with information filtering. This website is designed as a jump point for researchers in this area, and provides links to a wealth of interesting and useful documentation, tools, and toolkits.

[Go to top]

Updated 3/11/98 (c) Bob Quinn, 1995-1998

[Return to Home]