Traceroute
From Wikipedia, the free encyclopedia
- The correct title of this article is traceroute. The initial letter is shown capitalized due to technical restrictions.
traceroute is a computer network tool used to determine the route taken by packets across an IP network. An IPv6 variant, traceroute6, is also widely available.
The traceroute tool is available on practically all Unix-like operating systems. Variants with similar functionality are also available, such as tracepath on modern Linux installations and tracert on Microsoft Windows operating systems. Windows NT-based operating systems also provide pathping, which provides similar functionality.
Contents |
[edit] Implementation
traceroute works by increasing the "time-to-live" value of each successive batch of packets sent. The first three packets have a time-to-live (TTL) value of one (implying that they make a single hop). The next three packets have a TTL value of 2, and so on. When a packet passes through a host, normally the host decrements the TTL value by one, and forwards the packet to the next host. When a packet with a TTL of one reaches a host, the host discards the packet and sends an ICMP time exceeded (type 11) packet to the sender. The traceroute utility uses these returning packets to produce a list of hosts that the packets have traversed en route to the destination. The three timestamp values returned for each host along the path are the delay (aka latency) values typically in milliseconds (ms) for each packet in the batch. If a packet does not return within the expected timeout window, a star (asterisk) is traditionally printed. traceroute may not list the real hosts, it indicates that the first host is at one hop, the second host at two hops. IP does not guarantee that all the packets take the same route.
On modern Unix and Linux-based operating systems, the traceroute utility by default uses UDP datagrams with a destination port number starting at 33434. The traceroute utility usually has an option to specify use of ICMP echo request (type 8) instead, as used by the Windows tracert utility. There are also traceroute implementations that use TCP packets, such as tcptraceroute or Layer Four Trace. A new utility, pathping, was introduced with Windows NT, combining ping and traceroute functionality. Matt's Trace Route (MTR) is an enhanced version of icmp traceroute available for Unix and Windows systems under a GNU GPL license. All implementations of traceroute rely on ICMP (type 11) packets being sent to the originator.
[edit] Example
Estonia to the United States. 195.80.96.219 (kauge.aso.ee) to 130.94.122.199 (larousse.wikipedia.org).
Windows command : tracert 130.94.122.199
Linux or Mac OS X command : traceroute 130.94.122.199
1 et-gw.aso.ee 2 kjj-bb2-fe-0-1-4.ee.estpak.ee 3 noe-bb2-ge-0-0-0-1.ee.estpak.ee 4 s-b3-pos0-3.telia.net 5 s-bb1-pos1-2-0.telia.net 6 adm-bb1-pos1-1-0.telia.net 7 adm-b1-pos2-0.telia.net 8 p4-1-2-0.r00.amstnl02.nl.bb.verio.net 9 p4-0-3-0.r01.amstnl02.nl.bb.verio.net 10 p4-0-1-0.r80.nwrknj01.us.bb.verio.net 11 p4-0-3-0.r00.nwrknj01.us.bb.verio.net 12 p16-0-1-1.r20.mlpsca01.us.bb.verio.net 13 xe-1-2-0.r21.mlpsca01.us.bb.verio.net 14 xe-0-2-0.r21.snjsca04.us.bb.verio.net 15 p64-0-0-0.r21.lsanca01.us.bb.verio.net 16 p16-3-0-0.r01.sndgca01.us.bb.verio.net 17 ge-1-2.a03.sndgca01.us.da.verio.net 18 larousse.wikipedia.org
[edit] Origins
The traceroute man page states that the original traceroute program was written by Van Jacobson in 1987 from a suggestion by Steve Deering, with particularly cogent suggestions or fixes from C. Philip Wood, Tim Seaver and Ken Adelman.
[edit] Uses
Traceroute is often used for network troubleshooting. By showing a list of routers traversed, it allows the user to identify the path taken to reach a particular destination on the network. This can help identify routing problems or firewalls that may be blocking access to a site. Traceroute is also used by penetration testers to gather information about network infrastructure and IP ranges around a given host. It can also be used when downloading data, as if there are multiple mirrors available for the same piece of data, one can trace each mirror to get a good idea of which mirror would be the fastest to use.
[edit] See also
- Layer Four Trace, a more modern traceroute (IP network tracing) implementation that supports a multitude of layer-4 protocols
[edit] Security concerns
Supplying such detailed information about the pathways taken was considered acceptable and convenient in the early days of the Internet, but later was considered questionable for privacy and security reasons. Traceroute information has been frequently used by hackers as a way to acquire sensitive information about a company's network architecture. By using the traceroute command, a hacker or several hackers can quickly map out what nodes are available on a company's network architecture and exploit vulnerable or compromised nodes/computers.
For these reasons, while traceroute was widely used during the early days of Internet, by the 1990s the vast majority of sites on the internet no longer offered the service.
[edit] External links
- RFC792, Internet Control Message Protocol (ICMP)
- traceroute.org — Monthly updated list of online traceroutes
- BGP4.net Traceroute Wiki — Hundreds of traceroute links, sorted by Autonomous System Number.
- mapulator.com Combines traceroute with Google Maps
- VisualRoute, online traceroute, shows connection path and IP locations on global map
- Layer Four Traceroute (LFT), free, open-source traceroute program with TCP and UDP tracing support
- Path Analyzer Pro, traceroute software with advanced features like geolocation and performance measurement
- Paris traceroute, allows routes to be traced correctly in the presence of routers that balance traffic across multiple links
- traceroute music video, by the elecatraz grewp
Unix command line programs (more) | |||
File and file system management: | cat | cd | chmod | chown | chgrp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | more | mount | mv | pwd | rm | rmdir | split | touch | tree | ||
Process management: | anacron | at | chroot | crontab | kill | killall | nice | pgrep | pidof | pkill | ps | sleep | screen | time | timex | top | wait | ||
User Management/Environment: | env | finger | id | locale | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write | ||
Text processing: | awk | cut | diff | ex | head | iconv | join | less | more | nkf | paste | sed | sort | tail | tr | uniq | wc | xargs | ||
Shell programming: | echo | expr | printf | unset | Printing: | lp |
Communications: inetd | netstat | ping | rlogin | traceroute |
Searching: find | grep | strings |
Miscellaneous: banner | bc | cal | man | size | yes |
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.