Web info-x
   
THIS SITE IS FOR SALE
 
 
Document Repository - Mapping the 'net with Traceroute
Author: Jack Rickard Views: 3128
Contributor :deej  
Type: Tutorial Topic(s): Networking - Internet, Networking - TCP/IP
Mapping the 'net with Traceroute

Probably the least glamorous software program on the Internet today is a program titled TRACEROUTE. It's almost universally available, it comes in almost every operating system including the ever more ubiquitous Windows95. But, as part of compiling our Boardwatch Directory of Internet Service Providers, we recently began to ask ISP's for our directory where THEY got THEIR connection to the Internet. We were surprised to have several of them actually tell us that their connection to the Internet was "proprietary" and that they didn't want anyone to know from who or topographically how they got their connection. We found this a bit bizarre in that anyone can run a traceroute and tell in some detail a number of things about the connection within seconds. In the hoopla over the World Wide Web and the many client/server tools available, in some cases the basic knowledge of such common tools as traceroute and ping has somehow been missed. Then too, there has been some recent developments with traceroute that make this a NEW tool in some interesting ways.

So despite it's rather nakedly plain heritage and operation, perhaps it would actually serve some purpose to do an article on TRACEROUTE. Traceroute, in its most basic form, allows you to print out a list of all the intermediate routers between two destinations on the Internet. It allows you to diagram a path through the network.

Why would you want to do that? We can think of a number of reasons. First, almost everyone connected to the Internet has some curiosity about what they are connected to. A traceroute from your desktop machine to almost anywhere else will provide a listing of each machine between you and the destination - essentially diagramming in the first three to five lines YOUR connection to the Internet.

Secondly, many individuals and companies are setting up their own servers of one form or another - typically a web server. Once set up, if the 50 million people alleged to be on the Internet, or even the fifteen million who actually are don't show up, you might want to check to see if any of them CAN make the connection. Despite the ubiquity of the Internet, we are increasingly finding sidespurs to the net where "you can't get there from here - you have to go somewhere else first." You might be surprised to learn that your web site is ONLY available to people on Sprint's backbone, but not on the AGIS backbone., or on the internetMCI backbone, but NOT to those on the Sprint backbone. I'm assured this doesn't actually happen of course. But on the off chance that my ravings are not purely hallucinatory, you might try a few traceroutes to see for yourself.

The ability to make the connection to your web site is a function of proper connectivity across the network. But it is also a function of the efficiency of the domain name server system - a system that is growing increasingly creaky and quirky in operation as it grows without limit, and more importantly without any mechanism for cleaning up all the little DNS messes of the past. Companies come and go, web sites come and go, but DNS is apparently forever as essentially no one ever goes in and cleans any of it up.

In any event, getting a domain name assigned and putting up a server may be the right moves, but you might want to actually check to see if you are available from different backbones and locations. Traceroute will show you with some confidence the path through the network, and it looks up each machine along the way, including yours, in the DNS structure. If you can traceroute to a site, you can almost always connect to a web server there.

Finally, in selecting an Internet Service Provider, backbone connection, or a service to host your web site, many savvy Internauts like to check out the connectivity of the site and precisely how it is connected to whom where. A bit of thought and the traceroute program will actually allow you to get a pretty good idea.

Traceroute was originally written by Van Jacobson of Lawrence Berkeley National Laboratory (van@helios.ee.lbl.gov) and the traceroute code is still freely available from version 1.0 through version 1.3.2 at ftp://ee.lbl.gov/old. The program derived from a conversation with Steve Deering of Stanford University in 1988.

In it's simplest usage, traceroute is simply a command line program where you enter a domain name:

traceroute boardwatch.com

traceroute to www.boardwatch.com (204.144.169.6), 30 hops max, 40 byte packets
1 205.139.105.254 (205.139.105.254) 4.405 ms 6.266 ms 2.629 ms
2 border1-serial3-5.Seattle.mci.net (204.70.52.65) 21.628 ms 21.056 ms 31.816 ms
3 core1-fddi-0.Seattle.mci.net (204.70.2.145) 16.701 ms 18.725 ms 21.598 ms
4 * * sl-stk-1-H9/0-T3.sprintlink.net (206.157.77.66) 36.615 ms    
5 sl-stk-1-H9/0-T3.sprintlink.net (206.157.77.66) 34.934 ms 40.946 ms 74.192 ms
6 sl-che-1-H2/0-T3.sprintlink.net (144.228.10.90) 55.085 ms 55.506 ms 55.157 ms
7 sl-che-3-F0/0.sprintlink.net (144.224.10.3) 55.863 ms 56.454 ms 58.791 ms
8 sl-cica-2-H0-T3.sprintlink.net (144.224.13.6) 68.133 ms 58.324 ms 80.837 ms
9 gw2.boulder.co.coop.net (199.45.132.35) 66.01 ms 69.084 ms 61.033 ms
10 199.45.130.14 (199.45.130.14) 67.436 ms 70.048 ms 69.716 ms
11 199.45.143.15 (199.45.143.15) 68.246 ms 70.162 ms 91.696 ms
12 t1.boardwatch.com (204.144.169.2) 77.907 ms 75.371 ms 77.696 ms
13 www.boardwatch.com (204.144.169.6) 81.938 ms 84.054 ms 74.27 ms


This results in a list of routers between your site and the entered domain with the first router encountered at the top of the list, and the destination domain machine at the bottom. At each site, both the name and IP number are listed, along with typically three timing values that indicate round-trip packet propagation times.

In Windows95, traceroute is renamed TRACERT for reasons only apparent to Microsoftians. It is also only available from a DOS window. Drop to a DOS window and enter TRACERT BOARDWATCH.COM to get essentially the same results.

In the example above, the first machine encountered was 205.139.105.254 in Grants Pass, Oregon. The machine failed a reverse domain name lookup and so only the IP number is listed. This is actually a traceroute from a web server in Grants Pass TO www.boardwatch.com.

The second machine is a border router of MCI's network in Seattle where we join MCI and machine three is one of the MCI core backbone routers in Seattle. In machine four, we connect to Sprint in Stockton California. It's worth noting that we did not go through one of the NAP's apparently such as the PacBell SF NAP or MAE-WEST and so we've most likely discovered a private peering exchange between Sprint and MCI in Stockton California. The concept that all connections between private backbones exist at one of the four NSF funded Network Access Points or NAPS is simply erroneous at this point with hundreds of such private NAPS between two carriers cropping up all over the country at any target of geographic proximity/opportunity.

At lines 6 we pass through what looks like a Stockton router where the interface is designated Cheyenne. At line 7 we enter Sprint's hub facility in Cheyenne and line 8 is the exit point on the way to Colorado Internet Cooperative Association, also known as the Boulder COOP in line 9. Line 10 appears to be a Boulder Coop router. In line 11 we go through an unidentified machines, actually at eSoft, Inc. in Aurora Colorado. Line 12 is a T-1 connection to our gateway router here at Boardwatch and line 13 is the 204.144.169.6 machine we use as a web server on our LAN.

Note the time indications for each line - three time values in milliseconds. These are roundtrip times for each leg, not sums, differences, or otherwise related to each other. From Grants Pass to Littleton, across two major backbones, and BACK looks like about 82 ms, 84 ms, and 74 ms for the three packets involved. Not bad actually. The point is, times are complete roundtrip times for packets to THAT router on THAT line and are unrelated to anything on previous or subsequent lines. Traceroute is a relatively low priority service on most machines, and as such isn't really a very good indicator of roundtrip times. The PING program actually works slightly better for that purpose.

That said, you CAN derive some indication of how busy the Internet is from examining these traceroute roundtrip times. If the three times on any one particular line are fairly close together, this indicates some consistency between the packets. If they are more variable, it usually indicates some dynamic change in traffic levels between the three packets. Similarly, if you get a relatively good time roundtrip to one router, while the very next machine gives a very poor series of times, and then the times are pretty good again on the NEXT router, you are seeing some traffic surges on the network. Smaller pipes tend to be somewhat more sensitive to such traffic surges, while larger ones tend to be a bit more forgiving.



HOW TRACEROUTE WORKS

Traceroute wasn't really designed as any of the normal control message elements of any protocol. It is actually a small program that relies on some predictable response activity of routers and servers on the Internet.

Routers receive Internet Protocol packets, and in fact packets of other protocols of various sizes and flavors, and in most cases simply pass them on. A router will have several interfaces usually. It receives a packet in one interface, opens the packet to find the DESTINATION ADDRESS, and then does a lookup in a routing table to determine which of its other interfaces (to other routers) is the best place to "route" the packet. In basic operation, it's actually not a terribly smart device. To a router with three interfaces, for example, the entire global Internet falls into three categories - Interface 1, Interface 2, and Interface 3. The Interfaces can be serial ports, ethernet cards, V.32 ports, or a specialized smoke signal rapidly-flappable-wet-blanket (RFWB) interface device. It doesn't matter. Open the packet, decide which port, and mail the puppy. In almost all cases, a router is the ultimate finger pointer - "This packet is somebody else's problem, and I'll pass it out port X for them to deal with."

In the early days of TCP/IP networks, it was discovered pretty quickly that if you sent out a packet and there was some configuration anomaly in a single router in the network, you could create a routing loop where packets could enter, but they would never get back out. The packet would simply move from one router to another in a circle. These packets would accumulate in the network quite quickly and seriously slow things down for those packets that were actually going somewhere.

The solution was the addition of an 8-bit Time-To-Live (TTL) field in the Internet Protocol packet header. The sending machine could set this to any value between 0 and 255. Each router that handled the packet decremented this value in the packet header by one when it passed on the packet. If it received a packet that had a TTL of 0 or 1, instead of passing on the packet, it killed it. In this way, after a set number of "hops" through routers, in no case larger than 255, a packet died and was removed from the network. In practice, TTL is the maximum number of hops a packet can transit before death. The 255 hop total is also the maximum "span" of the Internet today. If you are more than 255 hops from anywhere, you can't get there from here using the existing Internet Protocol.

When a router kills a packet, it also sends out an Internet Control Message Protocol (ICMP) error message to the packet originator address indicating TIME EXCEEDED IN TRANSIT. This message contains the IP address of the router sending the error message, as well as the address of the machine that sent the original IP packet and any of the original packet contents.

Traceroute takes advantage of these two predictable reactions. When you enter TRACERT WWW.BOARDWATCH.COM, traceroute first does a DNS lookup of WWW.BOARDWATCH.COM to get the 204.144.169.6 IP address. It then uses the somewhat more efficient User Datagram Protocol (UDP) to create three small, typically 40 byte, packets containing the originating address, the destination address, and a time stamp of when the packets were created. It sends out three of these packets with the TTL value set to 1. These packets arrive at the first router in the path to Boardwatch and that router immediately decrements the TTL, notes that it is now zero, and issues an ICMP TIME EXCEEDED IN TRANSIT error message back to the sending machine - including the original time stamp and the IP number of the router sending the error message. The original machine that sent out the three packets receives this ICM error message and notes the time of receipt, as well as the IP number of the router that sent it. It then examines the time stamp information returned inside the ICMP packet. It can then calculate the difference between the time stamp information sent, and the time the ICMP packet was received. This is how it calculates the round trip transit time in milliseconds.

Traceroute then extracts the IP number of the machine issuing the error message and does a reverse DNS lookup to retrieve the name of the machine. It prints a sequence number, in this case 1, followed by the name of the machine, the IP number of the machine, and the round trip time for each of the three test packets. The "first" machine in route is now diagrammed.

Traceroute then increments the TTL to 2 and sends out three more packets with new time stamps in them - again addressed to 204.144.169.6 - still the ultimate destination. The first router in the path receives the packet, decrements TTL from 2 to 1 this time, and since TTL has NOT expired, passes the packets on to the NEXT router in the path. THAT router now decrements TTL from 1 to 0, and issues the ICMP error messages back to the originating machine in the same way.

Tracert continues to increment TTL and send out sorties of three packets each time. Each time TTL is incremented, the packets make it to another router down the path before expiring and causing the tattletale ICMP error message that allows traceroute to identify the router. The traceroute machine will wait a fixed amount of time for a reply. If this expires, it will print a series of ASTERISKS (*) indicating that there is a machine there in the path, but it can't get it to respond with an ICMP error message within the default time. It then increments TTL again and continues.

When TTL reaches a value where the UDP datagram actually reaches the ultimate intended host, in this case www.boardwatch.com, that would normally be the end of the packet. But the host will be surprised to learn that the destination port number in the packet header is a ridiculously implausible port number - usually 33,434 but in any case something not ever recognized as a port. Web sites usually monitor port number 80 for example while an e-mail server will monitor port 25. Port 33,434 is not only not one of the normal ports, but is not likely to ever be. So the destination machine issues an ICMP error message as well - in this case the PORT UNREACHABLE message. Traceroute reads this as a kind of "mission accomplished" termination.



USING SOURCE ROUTING TO MANGLE THE PATH

Traceroute can be very useful to list the default path from your site to another site and that is its most common use. However, we often use traceroute to examine backbone topologies and this at times requires some bending of the rules. We often want to run packets around in circles so to speak, and watch how they get there.

Conceptually, there are two options to UDP datagrams that traceroute can take advantage of. These are the Loose Soure Route Record (LSRR) and Strict Source Route Record (SSRR) usually referred to as Loose Source Routing and Strict Source Routing. Rumor has it that Van Jacobson had both in the original 1988 TRACEROUTE and disabled them at the request of some administrators who didn't want it known how badly broken their gateways really were. We can't verify that rumor, but find it believable.

We haven't seen much in the way of traceroute variants that do the Strict Source Routing, which in theory would allow you to specify the precise path from one point to the next. But there are several that support Loose Source Routing, which allows you to indicate intermediate destinations.

Basically, this requires a bit more detailed description of UDP packets. In the case of LSRR, you can enter up to nine intermediate routers to define a path through the network. In most UNIX traceroutes, this is the -g option switch where in the Windows95 TRACERT it is the -J option.

To see why this might be valuable, let's take a look at a regular traceroute to Mustang Software Company (diagrammed above) in Bakersfield California.

Tracing route to mustang.com [204.250.9.1] over a maximum of 30 hops:
1 2 ms 2 ms 2 ms t1.boardwatch.com [204.144.169.2]
2 9 ms 7 ms 7 ms 199.45.143.15
3 11 ms 10 ms 12 ms t1.esoft.com [199.45.143.14]
4 18 ms 16 ms 16 ms 199.45.130.13
5 56 ms 18 ms 18 ms gw21-backbone-1.boulder.co.coop.net [199.45.132.33]
6 23 ms 20 ms 20 ms sl-che-3-H12/0-T3.sprintlink.net [144.224.13.5]
7 24 ms 32 ms 22 ms sl-che-1-F0/0.sprintlink.net [144.224.10.1]
8 44 ms 49 ms 45 ms sl-stk-1-H3/0-T3.sprintlink.net [144.228.10.89]
9 76 ms 48 ms 43 ms sl-stk-2-F/T.sprintlink.net [198.67.6.2]
10 223 ms 224 ms 307 ms sl-ana-2-H4/0-T3.sprintlink.net [144.228.10.26]
11 53 ms 54 ms 82 ms sl-ana-4-F0/0.sprintlink.net [144.228.70.4]
12 62 ms 62 ms 66 ms sl-mustang-1-s0-T1.sprintlink.net [144.228.74.46]
13 85 ms 73 ms 69 ms mustang.com [204.250.9.1]
Trace complete

This is a typical traceroute. Mustang is in California and like Boardwatch, is basically connected to the Sprint backbone. As you can see, we start at Boardwatch in line one, and then sequence through an in and out interface at eSoft, Inc. in Aurora. We then go to the Boulder Coop, up through two Sprint backbone routers, in Cheyenne Wyoming, and from their to Stockton California on the Sprint backbone. From Stockton, we drop down to Anaheim California, and from their to Mustang.

Note an interesting anomaly: We went through DIFFERENT routers going OUT through Cheyenne and Stockton than we did coming IN from Grants Pass. Backbone systems can be considerably more complex than highway systems actually with multiple "lanes" for redundancy, capacity, etc. But like a highway system, you often take a different exit going north than you do going south . This also explains why roundtrip times are not terribly valuable, the route the ICMP error message takes BACK to you is unlikely to be the route the original sortie of three packets took OUT to the machine in the path. The point is, traceroute diagrams paths in only one direction. Reversing the direction often diagrams an entirely different path.

Well and good enough. But we're pretty familiar with the Cheyenne/Stockton leg. What we would like to do is find out what is going on going EAST to Kansas City from Cheyenne. We're pretty sure that Kansas City is connected to Fort Worth, but Sprint might have built a new connection directly from Kansas City to Anaheim. From previous traceroute explorations, we know there is a Sprint router in Kansas City - 144.228.10.81


Tracing route to ns.mustang.com [204.250.9.1] over a maximum of 30 hops:
1 2 ms 2 ms 2 ms t1.boardwatch.com [204.144.169.2]
2 9 ms 9 ms 8 ms 199.45.143.15
3 12 ms 12 ms 11 ms t1.esoft.com [199.45.143.14]
4 18 ms 18 ms 19 ms 199.45.130.13
5 22 ms 40 ms 20 ms gw21-backbone-1.boulder.co.coop.net [199.45.132.33]
6 60 ms 214 ms 233 ms sl-che-3-H12/0-T3.sprintlink.net [144.224.13.5]
7 253 ms 219 ms 208 ms sl-che-2-F0/0.sprintlink.net [144.224.10.2]
8 38 ms 38 ms 38 ms sl-kc-1-H2/0-T3.sprintlink.net [144.228.10.81]
9 42 ms 40 ms 39 ms sl-kc-2-F0/0.sprintlink.net [144.224.20.2]
10 116 ms 252 ms 232 ms sl-fw-5-H3/0-T3.sprintlink.net [144.228.10.78]
11 190 ms 211 ms 204 ms sl-fw-6-F/T.sprintlink.net [208.12.128.6]
12 249 ms 257 ms 117 ms sl-ana-1-H2/0-T3.sprintlink.net [144.228.10.30]
13 261 ms 227 ms 249 ms sl-mustang-1-s0-T1.sprintlink.net [144.228.74.46]
14 507 ms 466 ms 480 ms ns.mustang.com [204.250.9.1]
Trace complete


TRACERT -J 144.228.10.81 204.250.9.1

Examine this command line. We are listing two IP numbers with the -J option. The rightmost number is actually our destination, 204.250.9.1, the address of the MUSTANG.COM machine. In this case, we have no interest whatsoever in this machine. We're actually trying to verify the Sprint backbone through Cheyenne to Kansas City and Fort Worth to Anaheim. A normal traceroute to MUSTANG.COM would actually go through Cheyenne, to San Francisco, and down to Anaheim. But in this case, we want to force a path east and out the south end of the backbone. Our interest is in the backbone, and the Mustang site is a handy endpoint of known connection that we can use.

The first IP number, 144.228.10.81 is a Sprint router in Kansas City. The second is the MUSTANG.COM destination - picked only because we know it is attached in Anaheim.

In the UDP datagram, the first address is listed as a DESTINATION address, but a pointer in the datagram points to the MUSTANG.COM address as the DESTINATION address. When the router in Kansas City is finally reached, it notes the discrepancy between the pointer and the destination address. It discards its own address as destination, shifts all addresses to the left, and sends the packets on with the MUSTANG.COM address now appearing to be the destination.

We could put up to nine intermediate IP addresses in the command line. That is all the room available in the header. As each address is reached, it is discarded and the remaining addresses shifted left one position. In this way, we can "steer" a bit through the Internet. But in practice, you have to have some knowledge of the possible Intermediate addresses.

The advantage of loose source routing is that you don't have to know ALL the routers in line as in Strict Source Routing. But the routes you enter DO have to make some sort of sense, and the ultimate destination has to make some sort of sense. But it does allow you to "steer" a bit in exploring paths through the Internet.

As we can see from the results, we can go from Boulder, to Cheyenne, and out to Kansas City. Kansas City is connected to Sprint routers in Fort Worth, and Fort Worth is connected directly to Anaheim. There is no link directly between Kansas City and Anaheim. We already knew that Mustang was connected to Sprint at Anaheim. But we've just successfully mapped the route from Cheyenne to Kansas City to Fort Worth to Anaheim. We can now use the router numbers we get from those cities, to go exploring further if we like.



TRIANGULATING THE INTERNET

Give me a lever and a place to stand and I can move the world. Actually, whoever said this was a bit off. Over and over, and in multiple fields of endeavor, we've found that you generally need THREE places to stand in this world to do anything.

On the Internet, there are many backbones, and your best source of reference is the one you are connected to. But it can be of a powerful advantage to be able to see your site, and others, from other vantage points on the Internet. As we noted, the path in one direction is rarely the same path in the reverse direction. It can be of powerful advantage to run traceroutes from OTHER locations back to US. In addition, this can verify our "visibility" from other backbones and even other continents.

Ray Davis of Carpe Net in Hofheim Germany (ray@carpe.net) has actually presented me personally with a bit of a rose in this respect and the entire Internet it would appear as well. Ray has done a small, fairly simple thing really quite well. He connected traceroute and the World Wide Web with a very simple shell script.. Anyone can run this shell script on their web and provide the world with an online traceroute function accessible from a browser.

Davis is actually from Colorado, but moved to Germany to serve as Technical Director at carpeNet Information Technologies GmbH (carpe diem - seize the day, carpe net - seize the net).. CarpeNet is connected to the central hub of one of the fastest and most extensive European networks (Nacamar/www.nacamar.net). And soon they'll be one of the highest bandwidth ISPs in Europe - with a 10 Mbps ethernet link into the new MAE-Frankfurt building - destined to be a major European NAP. They hope to develop some business as a European mirror site for popular U.S. web sites and they seem to be making some interesting moves in getting there. http://www.carpe.net/index.html

In any event, Ray wrote a little bit of an HTML script and a Common Gateway Interface (CGI) program script to allow anyone to visit his web site and run traceroute. In fact, you can enter ANY destination you want on the HTML form, and carpeNet's server will dutifully traceroute from their location to the entered destination and print out the results on your screen.

According to Davis: "Before we founded carpeNet, I spent over a year researching networks here in Germany and as many possibilities of connecting to the Internet as I could find. I often found myself wanting to trace the route not only from where I am but from other places back to me or from other places to other places. This way I could figure out how various nets were utilized, who was peering with who, how logical their routing was and something about their performance.

"Some months later, after carpeNet was founded, I wrote a simple sh cgi script and put an ISINDEX web page in front of it. Then I send a message to the inet-access mailing list asking if anybody else thought it was useful to be able to traceroute from elsewhere via a web page. I also included my traceroute URL and told everyone to pick up the cgi source if they wanted to set up a traceroute page too.

"Quite a few people thought it was a great idea, and some of them also put up a traceroute page and announced it. A couple days later David Dennis (http://www.amazing.com) put up some of these URLs on a page he called Club Traceroute."

Davis work has had several interesting effects. First, you can check to see if your web site is really reachable from Hofheim Germany. This will check to see that your Domain Name Service entry has migrated through the system to Germany, and also that you are actually reachable over the network. Finally, you get to see the connections between European backbones to the U.S. and across the U.S. backbones. By selecting different end points, you can again draw some very interesting routes.

So interesting that others wanted to setup webserver traceroutes on THEIR web sites. And the more of these that go up, the more interesting and useful it becomes. The accompanying table lists 88 of our favorites located in an afternoon. If you don't feel like hand entering them, we've also put them up on a page on our web site at http://www.boardwatch.com/isp/trace.htm. But there appear to be hundreds available in Japan, North America, Germany, France, Belgium, Russia, Israel, Mexico, Czech Republic, Sweden, Australia, and more. Just in North America, we can now trace different sites both from and two on MCI, AGIS, UUNET, IBM/Advantis, Sprint and Sprint's overseas cooperative, Global One, which is apparently becoming ever so popular.

This growing fleet of web traceroute servers allows us to pick spots on different backbones and even different continents to traceroute FROM.

Davis has actually moved beyond CGI scripts and actually rewritten a C language traceroute to output HTML and BE the CGI - somewhat more efficient on the server and perhaps more secure as well.. The C language source code is available at http://www.carpe.net/src/index.html.

ISP's particularly are putting up these simple little pages all over the world. Soon, it would appear there will be enough of them that we will have the illusion of being able to specify BOTH ends of a traceroute, the source and destination. At that point, it will be fairly easy to map the Internet to any degree of specificity desired, using the common traceroute program.



INSTALLING A CGI SCRIPT WEB SERVER

The following script was written by Ray Davis of carpeNet in Hofhiem Germany. To install it on a UNIX web server:

Edit the script with an editor to indicate your site information instead of BOARDWATCH for example.

Login to your system as a Super User (SU)

Place the script in the web server /cgi-bin directory under the filename traceroute.

Make the file traceroute an executable (chmod 555 traceroute)

Test with a browser to http://yourwebsite.com/cgi-bin/traceroute

#TRACEROUTE SCRIPT

#!/bin/sh
#
# trace - cgi to run traceroute using ISINDEX
#
#
# edit/usr/sbin/traceroute to point to traceroute

TRACEROUTE=/usr/sbin/traceroute
TOPSTUFF='Content-type: text/html
<HTML>
<HEAD>
<TITLE>Boardwatch Traceroute
</HEAD>
<BODY BGCOLOR="#e8e8ff">
<P ALIGN=Left>
'
if [ -x $TRACEROUTE ]; then if [ $# = 0 ]; then echo "$TOPSTUFF<H1>Traceroute</H1>"
# edit this line to match your system
echo '<B>Perform a traceroute from www.boardwatch.com</B><ISINDEX prompt="Enter domain name to traceroute to:">' else
# edit this line to match your system
echo "$TOPSTUFF<H1>Traceroute Output</H1><B>FROM www.boardwatch.com TO "$*".</B><P<>PRE>" $TRACEROUTE "$*" 2>&1
fi
else
echo ERROR: cannot find traceroute on this system.
fi

 

  Log in  
User:
Pass:
Remember Me:
Register
Forgot Password
  Christmas Gifts  

Bar Gifts
Xmas Gifts for Him
Xmas Gifts for Dads
Gadgets and Gizmos
Sporting Gifts
Games
Unique Lifestyle Gifts
Geek Gifts
iPod Mains Charger More Gadgets

THIS SITE IS FOR SALE
Sedo - Buy and Sell Domain Names and Websites project info: info-x.co.uk Statistics for project info-x.co.uk etracker® web controlling instead of log file analysis