Протокол ICMP, утилита traceroute | Практика по курсу "Компьютерные сети"

Sdílet
Vložit
  • čas přidán 2. 03. 2016
  • Исследуем работу утилиты traceroute с помощью Wireshark. Практические занятия по курсу "Компьютерные сети" goo.gl/YP3l83
    Страница курса - www.asozykin.ru/courses/networ...
    Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.
    Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.
    Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.
    Работу утилиты traceroute можно эмулировать с помощью команды ping. Для этого нужно с помощью специального ключа задать время жизни эхо запроса:
    Windows: ping -i 1 habrahabr.ru
    Linux: ping -m 1 habrahabr.ru
    Практическое задание для вас: определить путь до сайтов, которые вы часто смотрите. Используете сначала утилиту traceroute (в Windows tracert), затем ping и сравните результаты. Также с помощью Wireshark посмотрите, какие ICMP-пакеты при этом передаются.
    Лекции по курсу "Компьютерные сети" goo.gl/0aIOuf
    Практическое занятие по протоколу ICMP:
    • Протокол ICMP в Wiresh...
    Видеолекция по протоколу ICMP:
    • Протокол ICMP | Курс ...
  • Věda a technologie

Komentáře • 75

  • @shokhrookhr3850
    @shokhrookhr3850 Před 3 lety +5

    Спасибо вам за полезные Видео. Ваши видео всё ещё актуальны даже в 21 году)
    Привет из Ташкента

  • @user-mg1dg3lf9p
    @user-mg1dg3lf9p Před 8 měsíci +1

    Самое понятное объяснение! Спасибо огромное!

  • @igorlisenkov5070
    @igorlisenkov5070 Před 7 lety +9

    Спасибо! Практика очень укрепляет теорию.

  • @tristeza8748
    @tristeza8748 Před 2 lety +2

    И всё ещё актуально, спасибо большое

    • @AndreySozykin
      @AndreySozykin  Před 2 lety

      Да, актуально. Сетевые протоколы меняются очень медленно.

  • @mihailtmo6728
    @mihailtmo6728 Před 4 lety +1

    Круто. Вот спасибо тебе, Андрей!

  • @Semanbis
    @Semanbis Před 8 lety +2

    Спасибо за урок, очень полезный

    • @AndreySozykin
      @AndreySozykin  Před 8 lety

      +Semanbis, спасибо, рад, что нравится.

  • @TommySawyerRus
    @TommySawyerRus Před 2 lety

    Андрей, большое спасибо за теорию и за практику! При тестировании с помощью команды ping заметил разницу между ней и командой tracert. Размер передаваемых и принимаемых кадров отличается на 32 байта. Отличие в поле "Data" протокола ICMP.
    Tracert: Data: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    [Length: 64]
    Ping: Data: 6162636465666768696a6b6c6d6e6f7071727374757677616263646566676869
    [Length: 32]
    Это какое-то подобие отпечатков пальцев? Чтобы понимать, от какой именно программы приходят пакеты?

  • @sergeyufimtsev711
    @sergeyufimtsev711 Před 8 lety +24

    Здравствуйте. Спасибо за очередное занятие! Появилось несколько вопросов о tracert.
    Во-первых, при построении маршрутов к некоторым сайтам вместо некоторых маршрутизаторов стоят звёздочки. Что это значит?
    Во-вторых, возле некоторых IP в трассировке подписаны какие-то домены. Что это за домены и откуда они берутся?
    И последний вопрос. А что будет, если три пакета, отосланных tracert, отправятся разными маршрутами? Ведь маршрутизатор может отправлять пакеты разными путями, в зависимости от текущих настроек и ситуации в сети.

    • @AndreySozykin
      @AndreySozykin  Před 8 lety +29

      +Sergey Ufimtsev, приятно, что не просто смотрите видео, но и стараетесь что-то сделать.
      Отвечаю по пунктам.
      1. Если вместо маршрутизаторов стоят звездочки, это означает, что администратор запретил отправку ICMP пакетов с маршрутизатора. Это делается по соображениям безопасности. Подобные настройки делают на многих компьютерах и серверах, поэтому они не отвечают на ping, но по сети доступны.
      2. По-умолчанию tracert пытается определить по IP-адресу доменное имя маршрутизатора с помощью DNS. Если это удается, то вместо IP-адреса показывается DNS имя. Для записи видео я использовал специальный ключ (в Windows tracert -d), который запрещает определение DNS имени, так как это существенно ускоряет работу tracert. Поэтому в видео нет доменных имен.
      3. Что будет, если пакеты пошли разными путями, зависит от реализации traceroute. На OS X (www.opensource.apple.com/source/network_cmds/network_cmds-307.0.1/traceroute.tproj/traceroute.c) будут напечатаны адреса (и имена) всех маршрутизаторов, от которых пришел ответ, на Linux (traceroute.sourceforge.net) то же самое. Что сделает tracert под Windows сказать не могу, т.к. исходных кодов нет, а простой эксперимент для проверки придумать не получается.

    • @sergeyufimtsev711
      @sergeyufimtsev711 Před 8 lety +5

      Благодарю за ответы. Правда, я не совсем понимаю, как DNS может преобразовать IP-адреса в домены, особенно если учесть возможность привязки многих доменов к одним IP.

    • @AndreySozykin
      @AndreySozykin  Před 8 lety +9

      +Sergey Ufimtsev, это реверсивный DNS запрос. Обычно есть одна основная запись IP->DNS имя, и много дополнительных записей синонимов. По реверсивному DNS запросу выдается основное имя, которое закреплено за IP адресом.
      На эту тему еще будут лекции.

    • @DmitriiPetriev
      @DmitriiPetriev Před rokem

      @@AndreySozykin По поводу первого ответа. Если администратор сервера запретил отправку ICMP пакетов с муршрутизатора, то как traceroute понимает, какой маршрутизатор будет после этого сервера? Даже в Wireshark проверил -сервера, отмеченные * * * не отображаются в таблице, хотя все предыдущие - да.

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Před 4 lety +1

    Отлично, спасибо

  • @katherineangelic2396
    @katherineangelic2396 Před 4 lety +2

    воооу, спасибочки большое, очень помогло и все понятно

  • @atillaattila8900
    @atillaattila8900 Před 8 lety

    Spasibo Za Klasnie Kursi

    • @AndreySozykin
      @AndreySozykin  Před 8 lety +1

      +atilla atilla, спасибо в ответ за постоянную поддержку!

  • @031185alex
    @031185alex Před 5 lety

    подскажи автор у меня на 2ром адресе пинг 40мс модем adsl я считаю это много до шлюза провайдера ... в сравнении у соседей ниже в 3 раза ... если не трудно дай свое мнения по этому поводу посоветуй что либо почему так происходит .?

  • @kateanf
    @kateanf Před 4 měsíci +1

    спасибо большое

  • @sosiska4682
    @sosiska4682 Před 3 lety

    А если звездочки стоят, то это значит что какой-то промежуточный маршрутизатор не хочет возвращать icmp сообщение? А может ли какой-то маршрутизатор пропустить пакет, не изменяя ttl? Он может сделать себя незаметным?

  • @markruffalo293
    @markruffalo293 Před rokem

    Использую Linux Debian 11. Утилита traceroute почему-то отсылает не ICMP запросы с разным временем жизни, а UDP. Узнал это, посмотрев ICMP ответ в wireshark.

  • @user-jm2tx6pk5v
    @user-jm2tx6pk5v Před 7 měsíci

    Добрый вечер! Я попробовал использовать утилиту traceroute для того, чтобы узнать путь к условному домену. Данная утилита мне выдала набор маршрутизаторов, через которые проходили ICMP пакеты, после этого я пошёл проверять работу traceroute через утилиту пинг, и указав тот же домен, что и в первом случае, у меня отправился запрос напрямую на данный домен, подскажите, что я сделал не так? Разве пакет не должен через маршрутизаторы проходить? OS Debian

  • @SC-eg3dv
    @SC-eg3dv Před 7 lety +4

    Здравствуйте. В лекции по протоколу ICMP все маршрутизаторы нарисованы последовательно от одного компьютера к другому. В то же время в лекции "Протокол IP: маршрутизация" нарисована целая сеть маршрутизаторов и возможность доставки пакета по любой цепи. Каким образом эхо-запрос проходит правильную цепь маршрутизаторов, а не уходит в совсем другую ветку, в которой запрашиваемого адреса нет в помине?!?
    За лекции ++ и благодарность!

    • @AndreySozykin
      @AndreySozykin  Před 7 lety +5

      +Oleksiy Dryzhakov, в примере просто для удобства нарисована прямая из маршрутизаторов. На самом деле они могут располагаться как угодно. Эхо-запрос находит путь, как и все другие пакеты, с помощью маршрутизации. При этом разные эхо-запоосы не обязаны ходить по одному пути.

  • @rosevetrov1184
    @rosevetrov1184 Před 4 lety

    А что значит Превышен интервал ожидания для запроса

  • @Iseeyoucrybich
    @Iseeyoucrybich Před 7 měsíci

    Подскажите пожалуйста, как устройство понимает куда дальше отправлять icmp запрос я так и не понял, с первым хопом понятно, это нашь gw , а дальше ?

  • @default7427
    @default7427 Před 6 lety +1

    Спасибо!!!

  • @aizhanyerzhanova6816
    @aizhanyerzhanova6816 Před 2 lety

    подскажите пож-ста, у меня в WIRESHARK ICMP нет - почему?

  • @conf_term
    @conf_term Před 7 lety +7

    почему при трассировке маршрута выделено три столба для пинга? что это означает?

    • @AndreySozykin
      @AndreySozykin  Před 7 lety +17

      Almas Zholdas, tracert на каждом этапе трассировки отправляет по три пакета. В столбцах показано время отклика для каждого пакета.
      Это нужно для диагностики работы сети. Во-первых, один пакет может потеряться, а прекращать всю трассировку из-за потери одного пакета плохо. Также, если время ответа для разных пакетов сильно отличается, значит есть существенная проблема с работой сети, которую очень желательно решить.

    • @conf_term
      @conf_term Před 7 lety +1

      +Andrey Sozykin полезная информация, спасибо

  • @user-hh9xr4uj3o
    @user-hh9xr4uj3o Před 3 lety +1

    спасибо!!!

  • @user-lq5ft7zu2f
    @user-lq5ft7zu2f Před 3 lety +1

    Здравствуйте! Андрей, подскажите пожалуйста ICMP эхо-ответы утилиты tracert идут одним и тем же маршрутом от каждого промежуточноно узла и приемника или каждый раз разными маршрутами? И как это экспериментально доказать можно?
    (Я догадываюсь что с помощью ping, но как-то не до конца понимаю)
    Вопрос на лабораторной работе, никак не удается ответить

    • @AndreySozykin
      @AndreySozykin  Před 3 lety +1

      Гарантии одного маршрута нет. Предположим, что в процессе доставки ответа один из маршрутизатором выйдет из строя. Тогда пакет пойдёт другим маршрутом (при условии, что такой маршрут существует).

    • @user-lq5ft7zu2f
      @user-lq5ft7zu2f Před 3 lety +1

      @@AndreySozykin А скажите, пожалуйста, с помощью ping утилиты это как-то можно проследить?

    • @AndreySozykin
      @AndreySozykin  Před 3 lety +2

      Отправить несколько ping запросов с одним и тем же временем жизни и посмотреть, от каких маршрутизаторов придут ответы?

  • @BalynOmavel
    @BalynOmavel Před 6 lety +1

    Wireshark под макосью показывает только TTL exceeded пакеты, без echo ping. Это какая-то особенность реализации? Фильтр стоит только для отображения icmp, тут ошибки быть не может

    • @AndreySozykin
      @AndreySozykin  Před 6 lety

      К сожалению, с макос не работал и попробовать не где. Так что не смогу помочь.

  • @alexey7005
    @alexey7005 Před 5 lety +5

    а как узнать на каком маршрутизаторе проблемы если пакеты идут долго

    • @vladislavpavlov8638
      @vladislavpavlov8638 Před 3 lety

      Логично на том на котором больше всего задержка

  • @yurykuzmich4392
    @yurykuzmich4392 Před 6 lety +2

    скажите по какой причине выполнение команды ping с указанием имени сервера завершается с ошибкой "не удалось обнаружить узел", а выполнение ping с указанием IP адреса этого сервера завершается успешно

    • @AndreySozykin
      @AndreySozykin  Před 6 lety +3

      Скорее всего, не работает DNS. Поэтому не удается разрешить доменное имя. А с IP-адресом все работает.

  • @uris5903
    @uris5903 Před 5 lety +1

    как вы настраиваете для того что-бы видеть пакеты icmp?

    • @AndreySozykin
      @AndreySozykin  Před 5 lety

      Ничего специального для icmp я не делал. Нужно запускать какие-нибудь утилиты, которые используют icmp, например, ping. Без этого пакетов icmp просто не будет.

  • @031185alex
    @031185alex Před 6 lety +1

    Привет Андрей ... можно уточнить вопрос один .у меня такая тема трасернул к примеру яндекс ... первый адрес мой модем потом шлюз и адрес роутера провайдера.... затем подсеть провайдера выше и айпишник провайдера выше звена ... затем петлевые адреса и в конце то концов сам яндекс..... суть вопроса в следующем мой провайдер не признает адрес своего роутера и шлюз ... говорит мол не его адреса .... на втором и третим адресе задержки 35-65мс. прикол в том что адреса эти один частный другой типо в милане гдето зареган .... я в акуе и докозать не че ему не могу лагает все и сменить провайдера в нашем районе без вариантов .... сможешь помочь ?

    • @AndreySozykin
      @AndreySozykin  Před 6 lety +1

      +Алексей влиятельный, можно попробовать спросить у провайдера адрес его шлюза, настроить работу через него и посмотреть, что будет.

  • @DmitriySekmyonov
    @DmitriySekmyonov Před 5 lety +3

    У меня после 16 маршрутизатора стало писать превышен интервал ожидания для запроса но сайт работает,почему?

    • @AndreySozykin
      @AndreySozykin  Před 5 lety +4

      На многих серверах в целях безопасности настроен запрет ответов на ping запросы. Например, чтобы злоумышленник не мог просканировать сеть. Поэтому если сервер не пингуется, это не значит, что он не работает. Может быть настроен доступ только по HTTP.

  • @yurykuzmich4392
    @yurykuzmich4392 Před 6 lety +6

    скажите на какой порт направляются пакеты

    • @AndreySozykin
      @AndreySozykin  Před 6 lety +5

      Имеются в виду пакеты ICMP? Если да, то у них нет порта. Порты только в транспортных протоколах TCP и UDP.

    • @AndreySozykin
      @AndreySozykin  Před 5 lety +4

      ICMP вложен в IP.

  • @goldenage8190
    @goldenage8190 Před 7 lety +2

    а если торрент раздает р2р - Это какие пакеты? UDP?

    • @AndreySozykin
      @AndreySozykin  Před 7 lety +4

      Обычно используется TCP, но расширение торрент DHT позволяют использовать UDP. Более подробно -wiki.wireshark.org/BitTorrent

  • @SerhiiKulia
    @SerhiiKulia Před 3 lety

    Что означают звёздочки при трассировке?

  • @031185alex
    @031185alex Před 3 lety

    здраствуйте а что значит tracert -d ??? -d ???

    • @vladislavpavlov8638
      @vladislavpavlov8638 Před 3 lety

      Не преобразует IP хоста в доменное имя

    • @031185alex
      @031185alex Před 3 lety

      @@vladislavpavlov8638 спасибо за ответ но именно так у меня не трасериться не чего с -d почему можно как то понять ?

  • @007Riga
    @007Riga Před 7 lety +1

    Не пойму почему но у меня TTL почти всегда равно 254 либо 250 при трассировке маршрута.

  • @MrEmityushkin
    @MrEmityushkin Před 2 lety

    +Plus

  • @031185alex
    @031185alex Před 3 lety

    Здраствуй Андрей подскажи почему точка точка ? а не vpn почему через Жё подключен czcams.com/video/QaGzZ76ISW4/video.html