Web info-x
   
THIS SITE IS FOR SALE
 
 
Tutorials
 Info-x : Info-x Tutorials and Documents : Tutorials
Message Icon Topic: Mapping the 'net with Traceroute Post Reply Post New Topic
Author Message
deej
Admin Group
Admin Group


Joined: 22 Nov 1997
Online Status: Offline
Posts: 3
Quote deej Replybullet Topic: Mapping the 'net with Traceroute
    Posted: 14 Dec 2004 at 16:05

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

 


IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Bulletin Board Software by Web Wiz Forums version 8.04
Copyright ©2001-2006 Web Wiz Guide

This page was generated in 0.047 seconds.
  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