I'm always amazed by the productivity burst that results from having the right tool for the job—in terms of both the amount of time it takes to do that job and the breadth and accuracy of the data I obtain while performing it. Over the past few years, I've amassed a collection of great utilities that I rely on every day. These tools make my job easier, give me faster and more accurate results, and make my clients happy. I carry the utilities on a portable USB drive so that I always have them ready at a moment's notice. And the best part about my toolkit is that all its tools were 100 percent free. For information about how to locate and download each tool, see the Learning Path.
Utilities for Communicating
FileZilla
While working in the Web hosting industry, I often needed to move large numbers of directories and files between servers. My clients needed to do the same as they released new versions of their code to their Web sites. Walking clients through a command-line FTP session over the phone wasn't my idea of entertainment, but many weren't familiar with FTP, so it was sometimes necessary. Although commercial GUI FTP clients were available, it always bothered me to have to pay $10, $20, or $30 to license a GUI for a protocol that had been around forever. So, one day I set out to find an alternative solution. It had to be graphical, it had to be free, and it had to at least let me do a simple bulk copy of files and directories from one location to another via FTP. One tool accomplished all that and more: the open-source client called FileZilla.
FileZilla is a GUI FTP client that runs on all 32-bit versions of Windows, from Windows 95 to Windows XP. FileZilla supports FTP and SSH File Transfer Protocol (SFTP) transfers, drag-and-drop transfers, queuing multiple files and multiple connection transfers, and PASV (passive) mode. Simply put, it offers every feature that most of the commercial packages offer—at zero cost. This utility should be in every administrator's toolbox.
As a bonus, FileZilla also comes in a server version, in case you need a quick and simple FTP server but don't feel like installing Microsoft IIS. Or perhaps you can't install IIS, as in the case of XP Home Edition. Figure 1 shows the FileZilla client in action.
OpenSSH
About a decade ago, a Finnish engineer named Tatu Ylönen designed the first version of a protocol known as Secure Shell (SSH). That early version (now commonly referred to as SSH-1) let you create secure, encrypted "shell" sessions (think command prompt) on UNIX systems across untrusted networks, such as the Internet. Today, SSH has become the de facto standard for remote management in the UNIX world, and it's now also available for the Microsoft realm in the OpenSSH suite.
Now, you might be wondering why you need SSH if Microsoft already includes a Telnet server and client with all the latest versions of Windows. The answer is security: Although you can use Microsoft's Telnet components to remotely create a command-prompt session over the Internet, that communication session will be in clear text. Anyone with curious eyes and commonly available packet-sniffing software (for example, see the discussion of Ethereal a bit later) will be able to easily see exactly what you do in a Telnet session.
The purpose of SSH was to replace unsecure protocols such as Telnet while providing the same capabilities. Although administrators commonly use SSH for Windows to create a command-prompt session over an unsecure connection, they also commonly use SSH to tunnel TCP ports over the SSH channel, as well as for secure file transfers.
I find SSH to be a useful remote-management protocol for my clients. Often, I'm working wirelessly over low-bandwidth connections, such as cellular data (i.e., General Packet Radio Service—GPRS), and need to remotely connect to clients' systems. Using SSH, I can establish a command-prompt session on a remote system, know that the connection is secure, and work quickly to resolve a problem. Figure 2 shows an OpenSSH client session. Graphical protocols such as Terminal Services are great when the bandwidth is available, but when it's not, SSH is a terrific alternative.
As a bonus, some good SSH clients are available for both PocketPC and Palm OS handheld devices, giving you a great set of secure remote-management capabilities in a lightweight form factor.
Utilities for Sniffing
WinDump
Some days, I dream about giving up on the whole server-engineering and consulting gig and instead becoming a hardcore networking guy. After all, networks are simple, right? Either the packet is there or it's not! Obviously, I'm oversimplifying, but when I want to pretend that I know what I'm doing with a network, I bring out one of my favorite command-line utilities of all-time: WinDump.
WinDump is an exceptionally powerful command-line packet sniffer. Ported over from the source of the Tcpdump utility available for UNIX, WinDump carries over the same power and flexibility to the Windows world, all in a lightweight 440KB executable.
WinDump is a helpful utility when you need to do some quick and easy packet capturing to diagnose a network problem. It's flexible, and it can capture and display details about every packet going across the network interface. It can filter the output results based on protocol (e.g., Address Resolution Protocol—ARP, IP, TCP, UDP), source network or host, destination network or host, source port, destination port, and many other criteria.
To use WinDump, you'll first need to download and install the Windows Packet Capture Library (WinPcap), the Windows port of the open-source packet-capture and network-analysis library libpcap for UNIX. WinPcap runs on all versions of Windows. The most recent beta (at the time of this writing) is version 3.1 beta 4.
vsolis July 27, 2006 (Article Rating: