Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Traceroute
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Implementations == A command is available in many modern [[operating system]]s, generally named <code>traceroute</code> in [[Unix-like]] systems such as [[FreeBSD]], [[macOS]], and [[Linux]] and named <code>tracert</code> in [[Microsoft Windows|Windows]] and [[ReactOS]]. The functionality was available graphically in macOS, but has been deprecated since the release of [[macOS Big Sur]].<ref>{{cite web |last1=Rossingol |first1=Joe |title=Network Utility Deprecated in macOS Big Sur |url=https://www.macrumors.com/2020/06/23/network-utility-deprecated-macos-big-sur/ |website=MacRumors |date=23 June 2020 |language=en}}</ref> [[Windows NT]]-based operating systems also provide [[PathPing]], which combines the functionality of [[ping (networking utility)|ping]] with that of tracert. The ReactOS version was developed by Ged Murphy and is licensed under the [[GNU General Public License|GPL]].<ref>{{GitHub|https://github.com/reactos/reactos/blob/master/base/applications/network/tracert/tracert.cpp}}</ref> On [[Unix-like]] operating systems, traceroute sends, by default, a sequence of [[User Datagram Protocol]] (UDP) packets, with destination [[port number]]s ranging from 33434 to 33534; the implementations of traceroute shipped with [[Linux]],<ref>{{man|8|traceroute|Linux}}</ref> [[FreeBSD]],<ref>{{man|8|traceroute|FreeBSD}}</ref> [[NetBSD]],<ref>{{man|8|traceroute|NetBSD}}</ref> [[OpenBSD]],<ref>{{man|8|traceroute|OpenBSD}}</ref> [[DragonFly BSD]],<ref>{{man|8|traceroute|DragonFly BSD}}</ref> and [[macOS]] include an option to use [[ICMP Echo Request]] packets (''-I''), or any arbitrary protocol (''-P'') such as UDP, TCP using [[TCP SYN]] packets, or ICMP.<ref name="comer_book" /> On Windows, tracert sends ICMP Echo Request packets, rather than the UDP packets traceroute sends by default.<ref>{{Cite web| url=https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tracert | title=Tracert | website=[[Microsoft Docs]] | date=3 February 2023 | access-date=July 29, 2023}}</ref> The [[Time to live|time-to-live]] (TTL) value, also known as ''hop limit'', is used in determining the intermediate routers being traversed towards the destination. Traceroute sends packets with TTL values that gradually increase from packet to packet, starting with TTL value of one. Routers decrement TTL values of packets by one when routing and discard packets whose TTL value has reached zero, returning the ICMP error message [[ICMP Time Exceeded]].<ref name="comer_book">{{cite book | title=Computer Network and Internets with Internet Applications | publisher=Pearson Education, Inc. | last=Comer |first=Douglas | year=2004 | pages=360β362 | isbn=978-0131433519}}</ref> For the first set of packets, the first router receives the packet, decrements the TTL value and drops the packet because it then has TTL value zero. The router sends an ICMP Time Exceeded message back to the source. The next set of packets are given a TTL value of two, so the first router forwards the packets, but the second router drops them and replies with ICMP Time Exceeded. Proceeding in this way, traceroute uses the returned ICMP Time Exceeded messages to build a list of routers that packets traverse, until the destination is reached and returns an [[ICMP Destination Unreachable]] message if UDP packets are being used or an [[ICMP Echo Reply]] message if ICMP Echo messages are being used.<ref name="comer_book" /> The timestamp values returned for each router along the path are the delay ([[Network latency |latency]]) values, typically measured in milliseconds for each packet. The sender expects a reply within a configured number of seconds. If a packet is not acknowledged within the expected interval, an asterisk is displayed. The Internet Protocol does not require packets to take the same route towards a particular destination, thus hosts listed might be hosts that other packets have traversed. If the host at hop #N does not reply, the hop is skipped in the output. If a network has a firewall and operates both Windows and Unix-like systems, more than one protocol must be enabled inbound through the firewall for traceroute to work and receive replies. Some traceroute implementations use TCP packets, such as ''tcptraceroute'' and [[layer four traceroute]] (lft). [[PathPing]] is a utility introduced with [[Windows NT]] that combines [[Ping (networking utility)|ping]] and traceroute functionality. [[MTR (software)|MTR]] is an enhanced version of ICMP traceroute available for Unix-like and Windows systems. The various implementations of traceroute all rely on ICMP Time Exceeded (type 11) packets being sent to the source. {{Anchor|TRACEPATH}} On Linux, ''tracepath'' is a utility similar to traceroute, with the primary difference of not requiring [[superuser]] privileges.<ref>{{Cite web | url = http://linux.die.net/man/8/tracepath | title = tracepath(8) β Linux man page | access-date = 2015-06-21 | website = linux.die.net }}</ref> [[Cisco]]'s implementation of traceroute also uses a sequence of [[User Datagram Protocol|UDP]] datagrams, each with incrementing [[time to live|TTL]] values, to an invalid port number at the remote host; by default, UDP port 33434 is used. An extended version of this command (known as the ''extended traceroute'' command) can change the destination port number used by the UDP probe messages.<ref>{{cite web | url = http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_tech_note09186a00800a6057.shtml | title = Understanding the Ping and Traceroute Commands | work = Cisco IOS Software Releases 12.1 Mainline | date = 2006-11-29 | access-date = 2013-12-08 | publisher = cisco.com }}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Traceroute
(section)
Add topic