Tracert command

Примеры использования

А теперь давайте рассмотрим примеры использования утилиты ss Linux. Возможно, из описания опций вы мало что поняли, но с примерами все встанет на свои места.


Мониторинг сетевых подключений

Сначала смотрим все сетевые подключения:

Посмотрим только TCP соединения:

Или:

Теперь только Unix:

Для отображения UDP сокетов используйте опцию u. По умолчанию будут показаны только подключенные соединения. Если хотите получить все, нужно использовать опцию a. Поскольку UDP, это протокол без постоянного соединения, то без опции -a мы ничего не увидим:

По умолчанию утилита не пытается определять имена хостов через dns, но можно ее попросить делать это опцией -r:

Обратная опция -n, не будет выполняться не только dns резолвинг, но и определение протоколов портов, зато мониторинг сети в Linux работать будет быстрее:

Теперь просмотрим только прослушиваемые tcp сокеты.

Здесь мы видим только имена служб, это не всегда удобно, указав опцию n, мы получим номера портов.

Так же само можно посмотреть прослушиваемые udp сокеты:

Также мы можем попытаться узнать название и PID процесса, использующего сокет:

Просмотр статистики статистики сетевых подключений

Для просмотра статистики по использованию сетевых подключений наберите:

Transport Total IP IPv6 * 1010 — — RAW 2 1 1 UDP 28 21 7 TCP 33 30 3 INET 63 52 11 FRAG 0 0 0

С помощью опции -о можно посмотреть информацию о таймере и состоянии подключения.

Фильтрация по протоколу

Мы можем отображать только нужный нам протокол. Например только ipv4:

Или:

Так же само можно отобразить только соединения ipv6:

Фильтрация по состоянию соединения

В синтаксисе команды мы описали два дополнительных параметра. Фильтрация состояния и фильтрация по адресу. Рассмотрим теперь как ими пользоваться. Сокет TCP может находиться в одном из нескольких состояний. Например, так утилита ss linux выведет только подключенные сокеты.

Или сокеты в состоянии ожидания:

В параметр state можно передать одно из следующих значений:

  • established
  • syn-sent
  • syn-recv
  • fin-wait-1
  • fin-wait-2
  • time-wait
  • closed
  • close-wait
  • last-ack
  • closing
  • all  — все состояния
  • connected — все кроме прослушиваемых и закрытых
  • synchronized — все кроме syn-sent
  • bucket —  time-wait и syn-recv
  • big — все кроме bucket

Не все состояния подключений можно увидеть просто выполнив команду. Например, syn-sent и syn-recv вряд ли получиться словить, потому что соединения находятся в этом состоянии очень короткое время. Для их отображения удобно использовать команду watch:

После запуска команды откройте любой сайт в браузере. Вы увидите как появится одно или несколько соединений на несколько секунд.

Фильтрация по адресу и номеру порта

Кроме фильтрации по состоянию, tcp сокеты можно фильтровать по адресам или портам соединений.

Например, отберем все сетевые подключения linux с портом источником или приемником ssh, то есть все входящие и исходящие соединения ssh:

Или сокеты с портом назначения 80 или 443:

Такой синтаксис тоже будет работать:

Еще несколько примеров фильтрации:

Фильтрация по адресу:

Фильтрация по адресу и подсети:

И по адресу и порту:

Если вы хотите фильтровать сетевые соединения по порту, перед портом ставьте двоеточие:

Можно использовать такие операторы сравнения:

  • <= или le — меньше или ровно порту
  • >= или ge — больше или ровно порту
  • == или eq — точное соответствие
  • != или ne — не равно
  • < или gt — меньше
  • > или lt — больше

HEADER INFO FORMAT top

           Directly after the initial format comes information about the
           trace headers recorded from the target box.

           The next 12 bytes contain the string:

           "header_page\0"

           The next 8 bytes are a 64-bit word containing the size of the
           page header information stored next.

           The next set of data is of the size read from the previous 8 bytes,
           and contains the data retrieved from debugfs/tracing/events/header_page.

           Note: The size of the second field \fBcommit\fR contains the target
           kernel long size. For example:

           field: local_t commit;        offset:8;       \fBsize:8;\fR   signed:1;

           shows the kernel has a 64-bit long.

           The next 13 bytes contain the string:

           "header_event\0"

           The next 8 bytes are a 64-bit word containing the size of the
           event header information stored next.

           The next set of data is of the size read from the previous 8 bytes
           and contains the data retrieved from debugfs/tracing/events/header_event.

           This data allows the trace-cmd tool to know if the ring buffer format
           of the kernel made any changes.

ping — пинг

Он посылает пакеты информации в определенный пользователем источник. Если будут получены пакеты , устройство назначает и посылает пакеты обратно . Ping можно использовать для двух целей

1 . Чтобы гарантировать, что сетевое соединение может быть установлено.

2 . Timing соединения. Если у вас пинг www.linux-notes.org он покажет IP -адрес сайта и время. Используйте Ctrl + C , чтобы остановить тест. Выполнить команду можно так:

# ping linux-notes.org

Можно задать время перед отправкой пакета, например подождать 3 секунды перед отправкой следующего пакета.

# ping -i 3 your_IP

Чтобы проверить локальный интерфейс существует несколько способов:

# ping 0  
# ping localhost  
# ping 127.0.0.1

Можно так же посылать N количество пакетов и после чего завершить работу, для этого:

# ping -c 5 www.linux-notes.org

Так же можно узнать версию самого пинга, для этого выполните команду:

# ping -V

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

# ping -a IP
# ping -a 192.168.244.134

С опцией «-q»  Вы сможете пропустить ответы от вашего удаленного хоста и показать полученную статистику:

# ping -c 5 -q www.linux-notes.org

Можно изменить размер передаваемого пакета (допустим с 56 на 120), а сделать это можно так:

# ping -s 100 192.168.244.134

Мы так же можем изменять длительность выполнение команды пинг, например нам нужно пинговать сервис 15 секунд, то для этого выполните:

# ping -w 15 192.168.244.134

Не прервав команду пинг,  вы сможете увидеть статистику выполнения, нужно нажать CTRL + |

COLOPHON top

       This page is part of the trace-cmd (a front-end for Ftrace) project.
       Information about the project can be found at  If you have a bug report for
       this manual page, send it to Steven Rostedt <rostedt@goodmis.org>.
       This page was obtained from the project's upstream Git repository
       ⟨git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git⟩
       on 2020-08-13.  (At that time, the date of the most recent commit
       that was found in the repository was 2020-07-22.)  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail
       to man-pages@man7.org

                                 05/16/2020                 TRACE-CMD.DAT(5)

Pages that refer to this page: trace-cmd(1),  trace-cmd.dat(5)

Стандартные комманды MS-DOS для работы с сетью

ipconfig

Консольная утилита MS-DOS ipconfig выводит детали текущего соединения и управляет клиентскими сервисами DHCP и DNS. Утилита ipconfig позволяет определять, какие значения конфигурации были получены с помощью DHCP, APIPA или другой службы IP-конфигурирования либо заданы администратором вручную.

Многим пользователям Windows 98, работающим в сети знакома программа WinIPcfg. Это небольшая утилита с графическим интерфейсом, выполняющая идентичные функции ipconfig из командной строки. Пользователи Windows 2000 могут загрузить Wntipcfg.exe отсюда http://www.microsoft.com/en-us/download/details.aspx?id=18637

ipconfig /release

Освободить IP-адрес для указанного адаптера. Отправляет сообщение DHCPRELEASE, говорящее о том, что клиент больше не нуждается в использовании своего сетевого адреса (например, при отключении клиента)

ipconfig /renew

Обновить IP-адрес для указанного адаптера. отправляет DHCP-запрос серверу на обновлению ip-адреса адаптера (или всех адаптеров, если не указан какой-то конкретный). Можно использовать если было включено автоматическое получение айпи адреса и работает служба DHCP.

ipconfig /showclassid

Отобразить все допустимые для этого адаптера коды (IDs) DHCP-классов.

netsh Winsock reset

Команда netsh winsock reset в некоторых случаях может помочь восстановить работу сети, когда уже ничего не помогает, вернее восстановить доступ к ней.

Что делает netsh winsock reset?

Спецификация Winsock имеет такие особенности как:

  • Ограничивает возможность передачи данных с помощью сокетов и отправления пакетов от чужого имени, что помогает предотвращать атаки отказа в обслуживании;
  • Ограничивает количество одновременных подключений, соединения сверх установленного лимита ставятся в очередь на соединение;
  • …….

Эти особенности Winsock дают возможность замедлить скорость распространения возможных вирусов и червей, а также дать антивирусным компаниям выигрывать немного времени на изготовление «противоядия».

Winsock обрабатывает данные, передаваемые по протоколу TCP/IP, в процессе обработки которых данные последовательно проходят все установленные на компьютере LSP обработчики этих данных. Если один из LSP обработчиков будет некорректно удален, то цепочка обработки данных нарушится и дальнейшая работа по протоколу TCP/IP станет невозможна.

Бывают ситуации, когда для перехвата какой-либо информации в Winsock внедрялось вредоносное приложение, а после его удаления антивирусом пользователь лишался сети Интернет и был вынужден восстанавить удаленное вредоносное ПО.

Команда netsh winsock reset сбрасывает и выстраивает заново цепочку LSP для Winsock.

Доступны такие netsh winsock команды:

×

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

ping itmag.pro

Консольная утилита MS-DOS ping проверяет (пингует) хост на его доступность/работоспособность используя служебный ICMP протокол. Отсутствие ответа не есть подтверждением неработоспособности хоста!

tracert itmag.pro

Консольная утилита MS-DOS tracert проверяет маршрут следования данных в TCP/IP сетях. Используется для определения проблемных промежуточных узлов по маршруту следования данных из одной точки в другую, выявления узких мест в сети на котором ограничивается или теряется скорость.

route

Консольная утилита MS-DOS route служит для обработки таблиц сетевых маршрутов. Таблицу маршрутизации на Вашем компьютере можно посмотреть командой route print

arp

Консольная утилита MS-DOS arp отображает и изменяет таблицы преобразования IP-адресов в физические, используемые протоколом разрешения адресов (ARP). Отобразить физический адрес (MAC Addresses) связанный с вашим ИП можно коммандой arp -a.

Консольная утилита MS-DOS hostname отобразит имя текущего ПК (узла).

Пример BAT файла:

Внимание! По умолчанию в командной строке используется точечный шрифт. В связи с этим вместо кирилицы будут отображаться «кракоязбры»

Для того, чтобы русский текст отображался правильно, нужно сделать сделующее: в открытом окне командной строки нажмите правой кнопкой мыши на заголовке окна. Откроется меню — в нем выберите пункт «Свойства». В открывшемся окне перейдите на вкладку «Шрифты» и выберите шрифт Lucida Console. Нажмите кнопку «ОК». Всё, теперь шрифты в командной строке будут отображаться нормально.

При запуске данного пакетного файла вам будет предложено выбрать один из двух вариантов настройки — дом или работа. В примере кода меняем название сетевого подключения на своё, если оно отличное от по умолчанию, т.е. «Подключение по локальной сети». Так же меням сетевые настройки — IP, маску, шлюз и DNS сервера. После смены сетевых настроек будет предложено посмотреть текущие сетевые настройки (команда ipconfig /all). Отвечаем да или нет в зависимости от того нужно вам это или нет. BATCH Копировать код

Вот так будет выглядеть окно данного пакетного файла при запуске.

Рис. 1
« Назад

Проверка пинга

Для проверки пинга используется одноименная команда ping, которую необходимо вводить в командной строке. Запустить командную строку можно следующими способами:

Windows:

1) Пуск -> Все программы -> Стандартные -> Командная строка

2) Пуск -> Выполнить -> cmd

Linux:

В данной ОС существует множество терминалов, поэтому для этих целей можно использовать любой из установленных на ПК. Обычно стандартный терминал можно запустить сочетанием клавиш CTRL+ALT+T.


Итак, чтобы пропинговать определенный сервер, необходимо выполнить команду:

ping <IP или домен>

Например, для пинга адреса 11.222.33.44 необходимо выполнить команду:

ping 11.222.33.44

Ниже приведён пример результатов выполнения пинга одного из IP адресов.

Как видно из результатов, было передано и получено 4 пакета размером 32 байта. Время обмена одним пакетом составило 47 милисекунд.

Стоит отметить, что в Windows по умолчанию выполняется отправка только 4 пакетов. В Linux обмен пакетами продолжается до тех пор, пока пользователь самостоятельно не остановит процесс сочетанием клавиш CTRL+C. Чтобы запустить ping аналогичным образом в Windows, необходимо использовать параметр -t. Например:

ping -t 11.222.33.44

Остановка обмена пакетами выполняется тем же сочетанием клавиш – CTRL+C.

Установка количества отправляемых пакетов

Чтобы задать максимальное количество отправляемых пакетов, необходимо использовать команду следующего вида:

Windows:

ping -n <число_пакетов> <IP или домен>

например:

ping -n 5 11.22.33.44

Linux:

ping -c <число_пакетов> <IP или домен>

например:

ping -c 5 11.22.33.44

Изменение размера отправляемых пакетов

Чтобы выполнить ping с использованием пакетов определенного размера (в байтах), необходимо использовать следующую команду:

Windows:

ping -l <размер_пакетов> <IP или домен>

например:

ping -l 64 11.22.33.44

Linux:

ping -s <размер_пакетов> <IP или домен>

например:

ping -s 64 11.22.33.44

В данном случае производилась отправка пакетов размером в 64 байта.

COLOPHON top

       This page is part of the trace-cmd (a front-end for Ftrace) project.
       Information about the project can be found at  If you have a bug report for
       this manual page, send it to Steven Rostedt <rostedt@goodmis.org>.
       This page was obtained from the project's upstream Git repository
       ⟨git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git⟩
       on 2020-08-13.  (At that time, the date of the most recent commit
       that was found in the repository was 2020-07-22.)  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail
       to man-pages@man7.org

                                 06/09/2020              TRACE-CMD-RECORD(1)

Pages that refer to this page: trace-cmd(1),  trace-cmd-check-events(1),  trace-cmd-clear(1),  trace-cmd-extract(1),  trace-cmd-hist(1),  trace-cmd-list(1),  trace-cmd-listen(1),  trace-cmd-mem(1),  trace-cmd-options(1),  trace-cmd-profile(1),  trace-cmd-report(1),  trace-cmd-reset(1),  trace-cmd-restore(1),  trace-cmd-show(1),  trace-cmd-snapshot(1),  trace-cmd-split(1),  trace-cmd-stack(1),  trace-cmd-start(1),  trace-cmd-stat(1),  trace-cmd-stop(1),  trace-cmd-stream(1),  trace-cmd.dat(5)

Команда ipconfig

Следующая важная команда — ipconfig. Введите ее. У меня получилось вот так:

Настройка протокола IP для Windows

Ethernet — Ethernet адаптер:

            DNS-суффикс этого подключения . . : srcc.msu.ru

            IP-адрес . . . . . . . . . . . . : 192.168.17.139

            Маска подсети . . . . . . . . . . : 255.255.255.0

            Основной шлюз . . . . . . . . . . : 192.168.17.240

C:\Documents and Settings\Администратор>

В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) — пакеты должны доходить мгновенно. Основной шлюз — это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски — нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.

Одно из стандартных действий при поиске проблем подключения — пропинговать свой шлюз. Если пакеты до него не доходят, то, видимо, проблема где-то рядом, например, поврежден или плохо воткнут сетевой шнур. Также стоит знать, где физически находится компьютер с вашим основным шлюзом — у провайдера, где-то в доме, а, может, это — можем в вашей квартире. Примечание: некоторые компьютеры настроены не откликаться на запросы команды ping. Поэтому отсутствие пинга — не стопроцентная гарантия отсутствия связи с адресом.

Более подробную информацию можно получить командой ipconfig /all. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

            Имя компьютера . . . . . . . . . : sander

            Основной DNS-суффикс . . . . . . : MSHOME

            Тип узла. . . . . . . . . . . . . : смешанный

            IP-маршрутизация включена . . . . : нет

            WINS-прокси включен . . . . . . . : нет

            Порядок просмотра суффиксов DNS . : MSHOME


                       srcc.msu.ru

Ethernet — Ethernet адаптер:

            DNS-суффикс этого подключения . . : srcc.msu.ru

            Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller

            Физический адрес. . . . . . . . . : 00-16-D4-63-03-65

            Dhcp включен. . . . . . . . . . . : да

            Автонастройка включена . . . . . : да

            IP-адрес . . . . . . . . . . . . : 192.168.17.139

            Маска подсети . . . . . . . . . . : 255.255.255.0

            Основной шлюз . . . . . . . . . . : 192.168.17.240

            DHCP-сервер . . . . . . . . . . . : 192.168.17.240

            DNS-серверы . . . . . . . . . . . : 212.192.244.2

                       212.192.244.3

            Аренда получена . . . . . . . . . : 2 февраля 2009 г. 11:00:28

            Аренда истекает . . . . . . . . . : 9 февраля 2009 г. 11:00:28

C:\Documents and Settings\Администратор>

Самую полезную информацию я выделил жирным. DHCP-сервер выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои DNS-сервера — это 212.192.244.2 и 212.192.244.3.

Параметры Tracert

Е

Ключи пишутся через пробел после команды перед именем веб-узла, если в стандартных настройках нужно что-то изменить. Например:

Tracert –w 1000 yandex.ru, что означает: провести трассировку маршрута к yandex.ru с таймаутом ответов в 1000 ms.

Ниже приведен список параметров с их значениями.

-d Не выводить имена сетевых узлов, только IP (сокращает время трассировки).
-h Ограничить количество прыжков заданным числом.
-j В сетях IPv4: свободный выбор маршрута по списку веб-узлов, приведенных после ключа.
-w Установить таймаут ответов в миллисекундах.
-R Трассировка пути в IPv6.
-S В IPv6: трассировка от заданного адреса, указанного после команды.
-4 Использование только протокола IPv4.
-6 Использование только протокола IPv6.

Вот видите, всё оказалось проще, чем казалось. Кстати, в закромах Windows еще немало таких полезных штуковин. О них я тоже обязательно расскажу как-нибудь в следующий раз. Надеюсь, будет полезно.

Understanding the traceroute

In the results you will see the comment, «over a maximum of 30 hops or 64.» All this means is that the diameter of the Internet is roughly 30 or 64 hops. Therefore, many trace routes will only go that far out in trying to reach a destination.

The first column is the hop number, which is the Time-To-Live (TTL) value set in the packet.

The next three columns contains the round-trip times in milliseconds for an attempt to reach the destination with the TTL value. The last column is the host name (if it was resolved) and IP address of the responding system.

NOTE:

Your traceroute will display the same information but the columns may possibly be in a different order.

Назначение и применение Tracert на практике

Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».

Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.

Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше. Вы, как отправитель, зная почтовый трек-номер посылки, можете следить за ее передвижением на специальных сайтах. Если отправление вовремя не доставлено, вы легко узнаете, на каком этапе пути оно потерялось.

Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.

Обратите внимание на сходство этих записей:

Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:

  • На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
  • Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого сайта открывается страница с рекламой, может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
  • Является ли веб-ресурс тем, за что себя выдает.

REST OF TRACE-CMD HEADER top

           Directly after the process information comes the last bit of the
           trace.dat file header.

           The next 4 bytes are a 32-bit word defining the number of CPUs that
           were discovered on the target machine (and has matching trace data
           for it).

           The next 10 bytes are one of the following:

           "options  \0"

           "latency  \0"

           "flyrecord\0"

           If it is "options  \0" then:

           The next 2 bytes are a 16-bit word defining the current option.
           If the the value is zero then there are no more options.

           Otherwise, the next 4 bytes contain a 32-bit word containing the
           option size. If the reader does not know how to handle the option
           it can simply skip it. Currently there are no options defined,
           but this is here to extend the data.

           The next option will be directly after the previous option, and
           the options ends with a zero in the option type field.

           The next 10 bytes after the options are one of the following:

           "latency  \0"

           "flyrecord\0"

           which would follow the same as if options were not present.

           If the value is "latency  \0", then the rest of the file is
           simply ASCII text that was taken from the target's:
           debugfs/tracing/trace

           If the value is "flyrecord\0", the following is present:

           For the number of CPUs that were read earlier, the
           following is present:

           8 bytes that are a 64-bit word containing the offset into the file
           that holds the data for the CPU.

           8 bytes that are a 64-bit word containing the size of the CPU
           data at that offset.

Заключение

Пакеты программ Windows 2000 Resource Kit Tools, Windows Server 2003 Resource Kit Tools, Sysinternals Suite содержат множество неупомянутых здесь программ для работы с сетью (ActiveDirectory, remote management etc.) и не только, а здесь рассмотрены только более востребованные полезные IP комманды и программы MS-DOS для работы с сетью, в т.ч. Интернет.

Для более удобного использования можно добавить пути к пакетам Windows 2000 Resource Kit Tools, Windows Server 2003 Resource Kit Tools, Sysinternals Suite в переменную (не обязательно в системную) PATH, а дла одиноких программ MS-DOS whosip, whoiscl, Fport и пр. создать отдельную диру, например alonebin и так же полный путь к ней добавить в переменную (не обязательно в системную) PATH.

Полезные ссылки:


С этим читают