как сделать трассировку на mac os
Утилиты Traceroute и Tracert
Traceroute — это утилита, которая позволяет проследить маршрут следования данных до удалённого адресата в сетях TCP/IP. В Linux используется команда Traceroute, а в Windows — Tracert. При помощи этих команд можно увидеть путь пакета данных от вашего компьютера до целевого сервера или сайта.
Как работают Tracert и Traceroute
Когда вы пытаетесь открыть сайт, браузер отправляет сообщение (запрос) серверу, на котором этот сайт находится. Сообщение на своём пути проходит через маршрутизаторы. Они решают, куда дальше передать сообщение, чтобы гарантированно его доставить адресату. В трассировке маршрутизаторы ещё называют хопами (хоп — прыжок) или узлами. Количество узлов, через которые на своём пути пройдёт запрос, можно узнать при помощи утилит Tracert и Traceroute. Узлы, которые не являются целевыми для запроса, называют транзитными.
Утилита Traceroute формирует UDP-датаграмму (сообщение, которое нужно доставить целевому серверу), упаковывает её в IP-пакет и передаёт первому транзитному узлу. В заголовке такого IP-пакета есть поле TTL (Time To Live) — время жизни пакета. Оно определяет количество хопов, через которые пакет может пройти. На каждом узле TTL уменьшается на единицу. Если на пути к удалённому адресату время жизни пакета станет равно 0, маршрутизатор отбросит пакет и отправит источнику ICMP-сообщение об ошибке «Time Exceeded» (время истекло).
Этот принцип лежит в основе работы утилит Tracert и Traceroute, однако между ними есть отличия. Рассмотрим каждую утилиту отдельно.
Tracert отправляет на хост назначения ICPM-запрос «Echo Request» с TTL=1. Первый маршрутизатор, который получит запрос, проверяет, кому он предназначен. Если маршрутизатор не является целевым хостом, он уменьшает TTL на 1, отбрасывает пакет и отправляет ICMP-сообщение источнику, так как время жизни теперь равно 0. В этом сообщении маршрутизатор указывает информацию о себе и причину дропа пакета. Получив сообщение, Tracert запоминает этот маршрутизатор как первый хоп (прыжок) и отправляет следующий пакет, но уже с TTL=2. Первый хоп успешно обрабатывает новый пакет, уменьшает время его жизни на 1 и передаёт дальше. Следующий маршрутизатор тоже выполняет проверку хоста назначения и, если пакет предназначен не ему, уменьшает TTL, отбрасывает пакет и отправляет ICMP-сообщение источнику. Tracert запоминает второй хоп, снова увеличивает TTL на 1 и отправляет следующий пакет. Эти действия будут повторяться до тех пор, пока пакет не достигнет целевого хоста. Когда запрос попадёт к целевому хосту, этот хост в ответ направит ICMP «Echo Reply». Источник воспримет это как завершение трассировки.
Утилита Traceroute вместо ICMP-запроса отправляет 3 UDP-пакета на определенный порт целевого хоста и ожидает ответа о недоступности этого порта. Первый пакет отправляется с TTL=1, второй с TTL=2 и так далее, пока запрос не попадёт адресату. Отличие от Tracert в том, как Traceroute понимает, что трассировка завершена. Так как вместо ICMP-запроса он отправляет UDP-запрос, в каждом запросе есть порт отправителя (Sourсe) и порт получателя (Destination). По умолчанию запрос отправляется на закрытый порт 34434. Когда запрос попадёт на хост назначения, этот хост отправит ответ о недоступности порта «Destination port unreachable» (порт назначения недоступен). Это значит, что адресат получил запрос. Traceroute воспримет этот ответ как завершение трассировки.
Если Tracert работает по протоколу ICMP, то какой протокол используется командой Traceroute? По умолчанию используется протокол UDP, но traceroute может отправить и ICMP-запрос «Echo Request», как Tracert. Такой способ пригодится, если хоп не отвечает на UDP-пакет.
How To: Traceroute in Mac OS X Terminal
Traceroute allows you to discover a network path from one host to another. Traceroute is extremely helpful examining network hops (or network devices traversed over) and information including IP Address, DNS servers, and average time taken over each hop. A popular use of traceroute is to identify network bottlenecks (poor speed performance) happening in network equipment you do not own (network equipment in the Internet). Use Terminal in Mac OS X to traceroute any network address on your local network or the Internet.
Note: While traceroute attempts to explore network path hosts typically outside your private network, traceroute results always vary depending on the network hops you attempt to resolve. For instance, you may not receive replies from every device in your traceroute. Unresponsive devices are represented as 3 asterisks ***. Traceroute will always try to resolve hosts, but it can’t always. Devices that it cannot resolve are usually blocked by a firewall.
2. Type the following command
3. Terminal will send a network packet to google.com. Watch as the network packet moves out of your local network, past your ISP, and into the wild. Eventually, the traceroute will complete and it should look like something similar below.
As you see, traceroute provides detailed information about a network destination. Traceroute has a variety of command options you can play with in Terminal. Take a look below.
How To Run Traceroute on macOS
This article explains how you can perform a traceroute on your Mac. You may use traceroute to diagnose network routing issues (e.g., connectivity problems) and other related problems because it is a a network diagnostic tool.
There are two ways to do this:
To run traceroute on a Mac using the Terminal app
1-Launch the Terminal app. To open the Terminal app, you can:
2-Type the following command and press Enter
traceroute hostname
In this command, hostname is the name of the server connection you are testing, like macreports.com. This could be a domain name or an IP address. For example, if we want to find the traceroute result for macreports, here is the command you need to enter:
traceroute macreports.com
As you can see above, you do not need to enter the “https://” or “www.” section of the website’s address.
3-It may take up to a few minutes for your Mac to complete the process. Your Mac will generate a list of connections between your computer and its destination.
If you see * signs, that means “Request Timed Out”. Just wait. Then you may review the results.
To run traceroute on a Mac using the Network Utility app
You may also use the Network Utility app. Here is how:
1-Open the Network Utility app
2-Click the Traceroute tab.
3-Your your domain or IP number, like macreports.com and click Trace.
4-And review the results.
Serhat Kurt
Dr. Serhat Kurt worked as a Senior Technology Director. He holds a doctoral degree (or doctorate) from the University of Illinois at Urbana / Champaign and a master’s degree from Purdue University. Here is his LinkedIn profile.
Thank you for choosing to leave a comment.
Как запустить и использовать Traceroute на macOS
Как и многие другие служебные приложения для MacBook и iMac, traceroute встроена в ваш Mac и предназначена для диагностики проблем с подключением. Это скорее диагностический инструмент, чем обычное приложение. Traceroute может быть ценным инструментом для многих пользователей Mac, хотя он не является специфичным для Mac. Пользователи могут рассчитывать на использование Traceroute для анализа того, насколько плохое сетевое соединение и какой трафик трафик используют Mac для перехода на веб-сайт.
Это также образовательный инструмент для наблюдения за магией Интернета и за тем, как ваш компьютер использует определенные коды и команды для перехода на веб-сайт, который вы видите на экране.
Traceroute не предназначен для предоставления конкретных деталей, таких как сетевые интерфейсы. Это требует больше исследований. Единственная информация, которую Traceroute предоставляет, – это имя хоста или IP-адрес.
Как открыть Traceroute через сетевую утилиту
Вы можете сделать это одним из двух способов. Первый способ – открыть его через приложение Network Utility, которое поставляется с каждым компьютером Mac. Ярлык для сетевой утилиты:
/ System / Library / CoreServices / Применение
Вы можете либо выполнить действия на своем Mac, перечисленные в этом ярлыке, либо открыть Finder, щелкнуть «Перейти», нажать «Перейти в папку», ввести ярлык, нажать «Перейти», а затем нажать «Сетевая утилита». Отсюда будет несколько вкладок, на которые вы можете нажать. Нажмите на тот, который говорит Traceroute.
Когда вы будете здесь, введите адрес любого веб-сайта, который вам необходим для проверки сетевого подключения.
Как открыть Traceroute через терминал
Другой способ открыть Traceroute – через приложение Terminal на каждом Mac. Для этого нажмите Finder, затем «Приложения», затем «Утилиты» и, наконец, «Терминал». Терминал требует очень определенных команд, чтобы делать то, что вы хотите. Когда вы наконец доберетесь до этого приложения, введите команду:
имя хоста traceroute
Имя хоста – это место для любого сервера или веб-сайта, для которого вы хотите проверить соединение. Вы можете указать здесь любой веб-сайт или имя сервера.
Этот процесс может занять некоторое время, поэтому помните, что терпение – это добродетель. Также помните, что символ * означает «истекло время ожидания запроса». Просто продолжайте помнить, что терпение – это добродетель, когда вы видите это и продолжаете ждать.
В то время как все остальное о Mac, или любой Apple Продукт работает быстро и способен дать вам все, что вы хотите в мгновение ока, traceroute является одним из немногих медленных аспектов Apple, Это потому, что он опирается на обмен сообщениями ICMP, который, естественно, вызывает задержку. Он был разработан на «медленном пути», а не на типичном «быстром пути», который Apple продукты известны.
Note что в Traceroute отсутствует историческая информация, а это означает, что он покажет вам состояние подключения только одного дня, а не прошлых дней. Например, если Traceroute покажет, что веб-сайт не подключился успешно один день, но он установил предыдущий день, он не покажет вам, какой маршрут трафика был использован для успешного подключения накануне.
The WWW Blog
Traceroute is a tracking way with which you can know how web pages actually reach your computer, from the server. Your computer is not directly related to any web page, or any downloadable file, but gets connected through a pathway or chain where you send an information to your router, and from there to the next destination in the pathway.
Sometimes due to a problem in any link, the site loading doesn’t happen. Here is where traceroute helps you in finding the loopholes and problems in the loading of the website.
Here is how to run traceroute in Mac OS –
1. Through the terminal.app in utilities –
The terminal app in mac helps you find the roots of the whole file systems and the operating system. Most of the system processes can be found through the terminal application.
Open the Terminal.app from the list of Utilities in Applications, and enter the following –
traceroute www.thewwwblog.com (replace www.thewwwblog.com with the domain name you want to traceroute)
Hit enter/return and you would see the traceroute process happening.
2. Through Network Utility –
The network utility in mac is useful in many ways to monitor the network usage, and the availability of network etc. Through that you can ping a website, lookup the availability of a domain, the WHOIS data etc. You just need to select the traceroute option, and enter the web address there –
The tracerouting starts and the IPs hit are displayed as shown in the pic –
This is what traceroute helps in –
The results area in the lower part of the window now shows you the trace or track for the signal your computer sends to the address you specified.
When you run a trace your machine sends out a tiny packet of data (40 bytes). The next device along the line sends a notification to you that the data reached it. That all takes a little time, measured in milliseconds. 1 millisecond (ms) = 1/1000th of a second.
The traceroute shows the path of a query sent, first from the local modem to the service provider, and from there to the main hosting site, and so on.