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 email@example.com. And thanks
The best website for Windows (and WinSock) development tools, source
code, and high-level APIs that I've found yet is http://www.r2m.com
[Go to top]
WinSock API Trace Utilities and Hooking
- 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 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
Internet Security Systems, Inc. provides this list of frequently asked
questions about "sniffer" utilities, which includes a few links
to freeware versions.
- 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.
[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]
- 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
- 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
- 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 stack...it 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
- 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
[Go to top]
- 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
- 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
- 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
- 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.
- 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
[Return to Home]