Learn Windows XP Professional in 15 Minutes a Week: Troubleshooting TCP/IP in Windows XP Professional - Part 2

by ServerWatch Staff

Jason Zandri's latest article in the Learning Windows XP Professional in 15 Minutes a Week series continues a discussion on the TCP/IP Protocol within Windows XP Professional and specifically addresses troubleshooting the network protocol.

by Jason Zandri

Welcome to this week's installment of Learn Windows XP Professional in 15 minutes a week, the 14th in this series. This article will continue covering the TCP/IP Protocol within Windows XP Professional and will specifically focus on troubleshooting the network protocol under Windows XP Professional.

Internet Protocol Addressing Overview

The Transmission Control Protocol/Internet Protocol is a network communication protocol. It can be used as a communications protocol on private networks and is the default protocol in use on the internet. When you set up any system to have direct access to the Internet, whether it is via dial-up or one of the high speed technologies in use today, your system will need to utilize the TCP/IP protocol (whether it is a Windows-based system or not).

Also, if the given system needs to communicate with other TCP/IP systems on the local LAN or WAN, it will need to utilize the TCP/IP protocol as well.

[NOTES FROM THE FIELD] - This is just a basic overview of TCP/IP, and I didn't want to get too involved with it within this article. There is bountiful information on TCP/IP all over the internet and before pouring through the RFCs I would first suggest you try these two resources -- TCP/IP Frequently Asked Questions or TCP/IP Protocol Suite - Questions & Answers.

I have gone into a more detailed overview of the TCP/IP Protocol in an article from a couple of weeks ago, which covered the four-layer conceptual model of TCP/IP and how the model stacks up against the seven layer Open System Interconnection (OSI) protocol model. I also detailed administering TCP/IP Addressing in Windows XP Professional two weeks ago.

Last week was the first part of troubleshooting TCP/IP, which covered the main programs native to Windows XP Professional available for use in helping to troubleshoot TCP/IP.

TCP/IP Troubleshooting Continued

Windows XP Professional offers several native programs for use in troubleshooting TCP/IP. These tools were discussed in greater detail last week; as an overview, they are:

Ping Ping can be used to test your TCP/IP connection by sending a message to the remote node or gateway from a local system.
ARP Displays and modifies the IP-to-Physical address translation tables used by
address resolution protocol (ARP).
IpconfigThe ipconfig command is used to get the local system's basic IP configuration information, including the IP address, subnet mask, and default gateway.
Nbtstat NetBT Statistics (Nbtstat.exe) is used for troubleshooting network NetBIOS names over TCP/IP (NetBT) resolution problems from the command line. It displays protocol statistics and current TCP/IP connections that are using NetBT.
Netstat Netstat (Netstat.exe) displays TCP/IP protocol statistics and active connections to and from your computer from the command line. It also provides an option to display the number of bytes sent and received, as well as network packets dropped (if any).
Route The Route command-line tool is used to display the current IP routing table and add or delete IP routes.
HostnameReturns the local computer's host name for authentication by the Remote Copy Protocol (RCP), Remote Shell (RSH), and Remote Execution (REXEC) tools.
Tracert Tracert is sometimes used to verify that IP addressing has been correctly configured on a client. It will basically show the route taken to reach a remote system. 
PathPing Pathping also shows the route taken to reach a remote system as does TRACERT, but PATHPING does so with more detail and allows for more functionality as well.

There are additional tools that can be used to test TCP/IP connectivity. These are standard use tools for the TCP/IP protocol. The first tool we'll look at is the File Transfer Protocol, or FTP.

FTP - FTP, the File Transfer Protocol, is used to transfer files from system to system.

Internet Explorer interconnectivity allows for a Windows Explorer type of GUI environment for the file transfer by allowing functionality of file and folder views and drag and drop/copy and paste.

The command-line FTP tool allows for more functionality. FTP is considered to be a connected session using Transmission Control Protocol (TCP).

FTP commands are listed in the table below.













































FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host]

  • -v - Suppresses display of remote server responses.
  • -n - Suppresses auto-login upon initial connection.
  • -i - Turns off interactive prompting during multiple file transfers.
  • -d - Enables debugging.
  • -g - Disables filename globbing (see GLOB command).
  • -s:filename - Specifies a text file containing FTP commands; the commands will automatically run after FTP starts.
  • -a - Use any local interface when binding data connection.
  • -A - Login as anonymous.
  • -w:buffersize - Overrides the default transfer buffer size of 4096.
  • -host - Specifies the host name or IP address of the remote host to connect to.

[NOTES FROM THE FIELD] - Use mget and mput commands take y/n/q for yes/no/quit. Use Control-C to abort actively executing commands.

TFTP - The Trivial File Transfer Protocol allows for the connectionless transfer of files to and from systems using the User Datagram Protocol (UDP).

[NOTES FROM THE FIELD] - User Datagram Protocol (UDP) is a connectionless protocol that does not guarantee delivery of data packets between hosts and is used when data transfer acknowledgments are not required. It can transmit only small portions of data at a time because it is not capable of segmenting and reassembling frames and does not implement sequence numbers.

While TFTP is limited in functionality, there are still some command-line switches that can be used to tailor its performance.

TFTP [-i] host [GET | PUT] source [destination]

  • -i - Specifies binary image transfer mode (also called octet). In binary image mode the file is moved literally, byte by byte. Use this mode when transferring binary files.
  • host - Specifies the local or remote host.
  • GET - Transfers the file destination on the remote host to the file source on the local host.
  • PUT - Transfers the file source on the local host to the file destination on the remote host.
  • source - Specifies the file to transfer.
  • destination - Specifies where to transfer the file.

TELNET - Telnet is a terminal emulation program that allows a user to perform commands on a remote computer from a command window.

telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]

  • -a - Attempt automatic logon. Same as -l option except uses the currently logged on user's name.
  • -e - Escape character to enter telnet client prompt.
  • -f - File name for client side logging.
  • -l - Specifies the user name to log in with on the remote system. Requires that the remote system support the TELNET ENVIRON option.
  • -t - Specifies terminal type. Supported term types are vt100, vt52, ansi and vtnt only.
  • host - Specifies the hostname or IP address of the remote computer to connect to.
  • port - Specifies a port number or service name.

RCP - RCP copies files to and from computers running the RCP service. RCP uses the Transmission Control Protocol (TCP) to utilize the connected and reliable delivery of data between the client and the host. RCP can be scripted in a batch file and does not require a password. The remote host must be running the RSHD service, and the users username must be configured in the remote hosts .rhosts file. RCP is one of the r-commands available on all UNIX systems.

[NOTES FROM THE FIELD] - Microsofts implementation of TCP/IP includes the RCP client software but not rshd services.

RCP [-a | -b] [-h] [-r] [host][.user:]source [host][.user:] path\destination

  • -a - Specifies ASCII transfer mode. This mode converts the EOL character to a carriage return for UNIX and a carriage return/line feed for personal computers. This is the default transfer mode.
  • -b - Specifies binary image transfer mode.
  • -h - Transfers hidden files.
  • -r - Copies the contents of all subdirectories; destination must be a directory.
  • host - Specifies the local or remote host. If host is specified as an IP address OR if host name contains dots, you must specify the user.
  • .user: - Specifies a user name to use, rather than the current user name.
  • source - Specifes the files to copy.
  • path\destination - Specifies the path relative to the logon directory on the remote host. Use the escape characters (\, ", or ') in remote paths to use wildcard characters on the remote host.
RSH - RSH is a TCP/IP utility that enables clients to run commands directly on remote hosts running the RSH service without having to log on to the remote host. RSH is one of the UNIX r-commands available on all UNIX systems.

[NOTES FROM THE FIELD] - Microsoft's implementation of TCP/IP includes the RSH client software but not the RSH service. If a user on a computer running in a Windows domain tries to use RSH to run a command on a remote UNIX server that is running the RSH daemon, the domain controller will be required by the RSH client in order to resolve the username of the user.

REXEC - REXEC runs commands on remote hosts running the REXEC service and authenticates the user name on the remote host before executing the specified command.

REXEC host [-l username] [-n] command

  • host - Specifies the remote host on which to run command.
  • -l username - Specifies the user name on the remote host.
  • -n - Redirects the input of REXEC to NULL.
  • command - Specifies the command to run.

FINGER - FINGER is a TCP/IP utility used for viewing information about a user on a system running the finger service.

Typing the command  finger jason@windowsxp.2000trainers.com  displays information about user Jason on a server called windowsxp.2000trainers.com.

FINGER [-l] [user]@host [...]

  • -l - Displays information in long list format.
  • user - Specifies the user you want information about. Omit the user parameter to display information about all users on the specified host.
  • @host - Specifies the server on the remote system whose users you want information about.

[NOTES FROM THE FIELD] - Microsoft's implementation of TCP/IP includes the FINGER client software but not the FINGER service. You are able to run the FINGER client on a machine running a Windows operating system that is connected to the Internet in order to obtain results from a remote UNIX server running the FINGER daemon as a FINGER gateway.

That's a wrap for this week. Be sure to check back in next week for the next article in this series.

In the meantime, best of luck in your studies and please feel free to contact me with any questions on my column and remember,

"I still yet have to figure out why they just don't make mouse-flavored cat food."

Jason Zandri


This article was originally published on Monday Sep 9th 2002
Mobile Site | Full Site