TCP/IP and Proxies

Notes on configuring and troubleshooting TCP/IP. Also contains information on configuring a proxy server so that more than one computer on a network can access the internet via a single modem/phone line.

This page is not a tutorial on either TCP/IP or Proxies.

Basic Info | TCP/IP Test Commands | Proxy | It Works | Host Name Resolution

Basic Info

If the address of your machine is 169.1.2.3 with a subnet mask of 255.255.255.0 then
  IP Address     Subnet Mask

169.1.2.0                        Local subnet address
169.1.255.255                    Subnet broadcast address 

127.0.0.1       255.0.0.0        Dedicated loop back address. 
                                 Also known as localhost or 
                                 default.

0.0.0.0                          Default route
224.0.0.0                        Multicast address
255.255.255.255 255.255.255.255  Limited broadcast address 

TCP/IP basics is well written and illustrated. Read this first for some good background.


TCP/IP Test Commands

Except as noted, the following commands are present in Windows 95 and above.
ipconfig NT only. Display the IP address, gateway address, etc. for this computer.
winipcfg 95 & 98. Display the IP address, gateway address, etc. for this computer. Use one of the following to copy this information to the clipboard
  • In the taskbar, right click the icon and select copy
  • Use the standard keyboard shortcuts Ctrl-Ins or Ctrl-c.
ping Check if this computer can see (send messages to) the target computer. Should work with both an IP address and a server name.
arp Address Resolution Protocol Cache - Maps an IP address to a network card address. Use arp -a to view the current contents. When reconfiguring a network, you may need to manually clear this cache.
tracert Trace Route - Determine the route that a message takes when it goes from one computer to another.
nslookup Use this to lookup the IP address assigned to a server name, or to find the name assigned to an IP address (reverse DNS). (Not available in Windows 98.) web version

Both ping and tracert rely on the server being able to respond to a ping. Unfortunately, many servers have disabled this feature for security reasons. In addition, some firewalls block ping's. However, both of these commands can still be used to trouble shoot local problems.

Try Helmig's Trouble Shooting Center. This archive is great and has helped me solve many problems not documented elsewhere.

How to Troubleshoot Basic TCP/IP Problems in Windows NT 4.0

TCP/IP Routing Basics for Windows NT - This describes the data returned by route print, including what the subnet mask is.

Default Gateway Configuration for Multihomed Computers, ie, computers that have multiple network interfaces.

How To Configure Windows NT as a Remote IP Router - Though this applies to NT only, it does explain the concept of configuring a router.


Proxy

This is not meant as a tutorial on proxies - there is a very good tutorial here. However, even after reading such a great tutorial, there were sill a few questions and problems. Granted, most of the problems were because of things I did (its real easy to screw it up when you're ignorant), but I thought that the following information was expensive enough (as measured in time and effort) that I would record it for future reference.

In order to connect multiple computers to the internet using a single modem, you need to configure your LAN to communicate using TCP/IP (one of several possible protocols). Each network card will need its own IP address and the modem will need its own address. This means that the machine with the modem will actually need 2 addresses: one for the network card and a different one for the modem.

If you are running a DHCP server (such as Windows NT 4.0 Server), then you should use DHCP to provide IP addresses (except that the proxy server must have a fixed address). For the rest of us, you must manually assign an IP address to each machine on the network. By convention, addresses of the form 192.168.x.y are reserved for private networks (but you can use any address you want). For each machine, you must use a unique IP address. If your subnet mask is 255.255.255.0, then the first 3 numbers in the IP address should be the same for each machine and the fourth number should be unique - such as 1, 2, 3 etc.

Using Control Panel / Network, select the TCP/IP protocol connected to your network card and modify its properties. Set the IP address to something like 192.168.1.1 and the subnet mask to 255.255.255.0. (Remember, each machine needs its own IP address.)

On the one machine with the modem, under Control Panel / Network, the TCP/IP protocol connected to Dial Up Networking should be set to use DHCP (ie to obtain an IP address automatically). This address will be set by your ISP (Internet Service Provider). If you set it, you will not be able to connect to the internet.

The one thing that you must know is the DNS address. Hopefully, most of you will have an easier time getting this than I had. This describes how I found the cpcug PPP Parameters.

The only missing step is to change IE 4.0 version 4.72 to connect to the internet using the LAN and not a dialup connection. If this is not done, then every time the line drops, the browser will first try to use dialup networking before it uses the proxy. (Apparently, the help was written for another version of IE.)

VSocks come with its own very good help files.


It Works

Well, I installed VSocks as described above ... and It Works.

However, some Microsoft programs don't (well, I was suprised :) Netscape Communicator xxx seems to work fine. Ping connects and uses DNS to convert a server name to an IP address. (The rest of the Ping function will not work due to proxy limitations.)

Apparently, special socks enabled clients are required for VSocks Light. (A full featured proxy server should not have this limitation.) The VSocks help lists 2 sources of free clients.


Host Name Resolution

These files are used to convert a computer name into an IP address (Name Resolution). Depending on a number of parameters, they may or may not exist on any particular system. In Windows 95, they are found in c:\windows; in Windows NT, they are in %SystemRoot%\System32\Drivers\Etc.

Basically, this is where to look if you can ping a machine using an IP address, but using a computer name fails.

TCP/IP basics


Notes

DHCP - Dynamic Host Configuration Protocol - Automatically assigns an IP address.

ping provides regular and reverse DNS lookup from a command prompt
nslookup provides regular and reverse DNS lookup from a command prompt (enter either a server name or an IP address) (not available in Windows 98) web version

The Dial-Up Networking profiles are stored in the registry under

A lot of times when accessing your local machine using PWS (Personal Web Server), ping etc., the system tries to dial your ISP instead of handling the access locally. Adding a proxy server helps. However, without the proxy, it isn't really clear how all this works. Be sure the name resolution is in the host file. In IE 4.0 ver 4.72, under View / Internet Options... / Connection, set connect ... using a LAN instead of ... using a modem. This is stored in the registry under You will still be able to dial to the internet, but you must manually connect using Start / Programs / Accessories / Dial-Up Networking. (This used to work automatically without this fix, but something got broke and now Windows always dials up before it finds default, 127.0.0.1, and others.)


References

ZoneAlarm is a free firewall which will block and/or report both incomming and outgoing TCP/IP traffic. This is useful for detecting SpyWare, data theft, and certain types of dangerous software. (However, HTTP based SpyWare is not detected.)

ShieldsUp will test your internet connection and firewall. If you can be hacked, it will tell you ... otherwise it tells you what was tested. (Great free test.) This explains what ports are - in English :)


Author: Robert Clemenzi - clemenzi@cpcug.org
URL: http:// cpcug.org / user / clemenzi / technical / TCP_IP_Proxy.htm