Пинг через интерфейс линукс

Содержание
  1. Ping using specific gateway interface or source IP address
  2. How to ping using specific gateway interface or source IP address
  3. Ping using specific gateway interface
  4. Ping using specific source IP address
  5. Putting it all tougher – Ping using specific source IP address
  6. Команда Ping в Linux
  7. Как использовать команду Ping
  8. Укажите количество пакетов
  9. Укажите исходный интерфейс
  10. Укажите Интернет-протокол
  11. Выводы
  12. linux-notes.org
  13. Топ-10 Основных сетевых команд в Linux
  14. Сетевые команды в примерах в Linux
  15. Примеры использования сетевых команд в Linux
  16. hostname — Имя хоста
  17. ping — пинг
  18. Ifconfig
  19. traceroute
  20. netstat
  21. nslookup
  22. finger
  23. telnet
  24. One thought on “ Топ-10 Основных сетевых команд в Linux ”
  25. Добавить комментарий Отменить ответ
  26. ИТ База знаний
  27. Полезно
  28. Навигация
  29. Серверные решения
  30. Телефония
  31. Корпоративные сети
  32. 15 примеров команды PING для диагностики сети
  33. Про Linux за 5 минут | Что это или как финский студент перевернул мир?
  34. Для чего используется команда PING?
  35. Как работает команда PING?
  36. Можно ли использовать PING с прокси-сервером?
  37. Ping IPv6 адресов
  38. Ping конкретного порта
  39. Ping с выводом времени
  40. Ping всех устройств в указанной подсети
  41. Как завершить команду PING?
  42. Завершение работы команды по счетчику
  43. Где расположена утилита PING?
  44. Проверка задержки командой PING
  45. Поиск идеального значения MTU
  46. Ping на 2-ом уровне OSI (использование arping)
  47. Ping по имени узла
  48. Ping маршрута (traceroute)
  49. Запустить команду если ping вернул ошибку
  50. Установление размера пакета ping
  51. Отключение команды ping
  52. Заключение

Ping using specific gateway interface or source IP address

I have multiple gateways configured on my Linux or Unix based router. How do I ping through a specific interface of the gateway? How can I ping using a particular source IP address?

Introduction: The ping command determines whether a network destination is reachable. ping is one of the useful command line tools to get info about computers including the LAN and Internet. One can use ping command to find whether a specific IP address is accessible from your host. Another usage of ping is to find out the distance (round trip) between any two network routers or other network devices such as switches, firewall, websites, hosts and other stuff. This page shows ping using specific gateway interface and ping using specific source IP address.

Tutorial details
Difficulty level Easy
Root privileges No
Requirements Linux or Unix
Est. reading time 3 minutes

How to ping using specific gateway interface or source IP address

Initially, Unix-like systems had ping command. But, versions of ping are now available for all leading operating systems such as Microsoft Windows and others. The version discusses here only tested on a Linux, FreeBSD, and Unix-like system. The ping command works by sending ICMP packets to the target IP address and listening for returned packets. The syntax is:
ping ip-address
ping domain-name
ping www.cyberciti.biz
ping 192.168.2.254
ping [options] destination
ping [options] [IP|hostname]

Pass the -c option to the ping command to send out only the number of packets. For example, to send out only four packets to the IP address 8.8.8.8:
ping -c 4 8.8.8.8

Ping using specific gateway interface

To find out your interface names on a Unix-like or *BSD system run the ifconfig command:
ifconfig
ifconfig -a
Linux users use the ip command or ifconfig command:
ip a
You need to pass the -I option as follows:
ping -I interface destination
ping -I eth0 www.cyberciti.biz
ping -I tun0 1.1.1.1
ping -I br0 8.8.8.8
##################################################
### for bsd ping use interface IP address ########
### for e.g. vio0 interface has 192.168.122.124 ##
##################################################
ping -c4 -I 192.168.122.124 www.cyberciti.biz
ping -c4 -I tun0 www.cyberciti.biz

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

Ping using specific source IP address

One can set socket sndbuf. The syntax is:
ping -S ip dest
ping -S 192.168.2.24 www.cyberciti.biz
ping -c 4 -S 10.207.0.54 1.1.1.1

Putting it all tougher – Ping using specific source IP address

Here is a shell script that ping given domain/IP address using three wan interface configured on my FreeBSD based firewall/router. The script use for loop and ping command:

Источник

Команда Ping в Linux

Команда ping — один из наиболее часто используемых инструментов для устранения неполадок, тестирования и диагностики проблем с сетевым подключением.

Ping работает путем отправки одного или нескольких пакетов эхо-запроса ICMP (протокол управляющих сообщений Интернета) на указанный IP-адрес назначения в сети и ожидает ответа. Когда пункт назначения получает пакет, он отвечает эхо-ответом ICMP.

С помощью команды ping вы можете определить, активен или неактивен удаленный IP-адрес назначения. Вы также можете найти задержку двустороннего обмена при обмене данными с адресатом и проверить, есть ли потеря пакетов.

ping является частью пакета iputils (или iputils-ping ), который предустановлен почти во всех дистрибутивах Linux. Он также доступен в Windows, macOS и FreeBSD.

Как использовать команду Ping

Синтаксис команды ping следующий:

Чтобы лучше проиллюстрировать, как работает команда ping, давайте пингуем google.com :

Результат будет выглядеть примерно так:

Команда ping преобразует доменное имя в IP-адрес и начинает отправку пакетов ICMP на IP-адрес назначения. Если IP-адрес назначения доступен, он ответит, и команда ping напечатает строку, содержащую следующие поля:

  • Количество байтов данных. По умолчанию 56, что переводится в 64 байта данных ICMP — 64 bytes .
  • IP-адрес назначения — from muc11s01-in-f14.1e100.net (172.217.22.206) .
  • Порядковый номер ICMP для каждого пакета. icmp_seq=1 .
  • Время жить. — ttl=53 — Как работает TTL? .
  • Время проверки связи, измеряемое в миллисекундах, которое представляет собой время прохождения пакета туда и обратно до хоста и время ответа для возврата отправителю. — time=41.4 ms .

По умолчанию интервал между отправкой нового пакета составляет одну секунду.

Команда ping будет продолжать отправлять пакеты ICMP на IP-адрес назначения, пока не получит прерывание. Чтобы остановить команду, просто нажмите Ctrl+C

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

Если ping не возвращает ответа, это означает, что сетевое соединение не установлено. Когда это происходит, это не всегда означает, что IP-адрес назначения неактивен. Некоторые хосты могут иметь брандмауэр, который блокирует трафик ICMP или не отвечает на запросы ping.

В случае успеха команда ping завершается с кодом 0 . В противном случае он выйдет с кодом 1 или 2 . Это может быть полезно при использовании утилиты ping в сценарии оболочки.

В следующих разделах мы рассмотрим наиболее часто используемые параметры команды ping .

Укажите количество пакетов

Как уже упоминалось, по умолчанию ping будет продолжать отправлять пакеты ICMP, пока не получит сигнал прерывания. Чтобы указать количество пакетов Echo Request, которые должны быть отправлены, после чего ping завершится, используйте параметр -c за которым следует количество пакетов:

Например, чтобы пинговать linuxize.com только один раз, вы должны использовать:

Укажите исходный интерфейс

По умолчанию команда ping отправляет пакеты ICMP по маршруту по умолчанию. Если у вас есть несколько интерфейсов на вашем компьютере, вы можете указать исходный интерфейс с параметром -I :

Следующая команда будет пинговать linuxize.com используя em2 в качестве исходного интерфейса:

Укажите Интернет-протокол

Когда вы запускаете команду ping , она будет использовать IPv4 или IPv6, в зависимости от настроек DNS вашего компьютера.

Чтобы заставить ping использовать IPv4, передайте параметр -4 или используйте его псевдоним ping4 :

Для IPv6 передайте опцию -6 или используйте ping6 :

Выводы

ping — это сетевая утилита командной строки, которая позволяет вам проверить возможность подключения на уровне IP определенного хоста в сети.

Чтобы просмотреть все доступные параметры команды ping , введите в терминале man ping .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

linux-notes.org

Топ-10 Основных сетевых команд в Linux

Сеть является неотъемлемой частью Linux и предлагает множество инструментов и команд для диагностики любой сетевой проблемы.

Сетевые команды в примерах в Linux

• Найти хост / доменное имя и IP-адрес — hostname
• Сделать тест сетевого соединения — ping-
• Получение конфигурации сети — Ifconfig
• Сетевые соединения, таблицы маршрутизации, статистики интерфейсов — NETSTAT
• Поиск имени DNS запрос — Nslookup
• Подключение к другим хостам — Telnet
• Получить сетевой хост — информация для пользователя трассировку
• Сделать трассировку — traceroute
• Просмотр информации пользователя – finger
• Проверка статуса хоста назначения — Telnet

Примеры использования сетевых команд в Linux

Давайте посмотрим некоторые примеры различных сетевых команд в Linux. Некоторые из них довольно элементарные например пинг и телнет, а некоторые являются более мощными, например Nslookup и NetStat. Когда вы использовали эти команды в комбинации вы можете получить все, что вы ищете , например, имя хоста , конечные соединения точек , состояние соединения и т.д.

hostname — Имя хоста

Имя хоста (hostname) без вариантов отображает хозяина машины. По этому чтобы проверить кто владелец выполните команду:

Эта команда отображает доменное имя машины. Чтобы увидеть IP -адрес для текущей машины выполните эту же команду с ключом «i»:

ping — пинг

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

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

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

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

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

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

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

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

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

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

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

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

Ifconfig

Посмотреть конфигурацию сети , он отображает текущую конфигурацию сетевого адаптера . Это удобно, чтобы определить, если вы transmit (ТХ ) или receive (RX) ошибки.

traceroute

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

Можно вывести информацию о всех сетевых картах что подключены, для этого выполните:

netstat

Самая полезная и очень универсальная для нахождения подключений к и от хозяина. Вы можете узнать все о многоадресной группы (multicast groups) сети выполнив:

Чтобы увидеть кто «сидит» на порту (допустим на 21) выполните команду:

Чтобы увидеть все соединения в том числе TCP и UDP выполните команду:

Параметр что выполнена программа будет отображать только соединение TCP:

Параметр что выполнена программа будет отображать только соединение UDP:

nslookup

Если вы знаете IP-адрес он будет отображать как имя хоста. Чтобы найти все IP-адреса для данного доменного имени, команда Nslookup используется. Вы должны быть подключение к Интернету для этой утилиты. Пример использования:

Вы также можете использовать Nslookup преобразовать имя хоста в IP-адрес и с IP-адреса из имени хоста.

finger

Посмотреть информацию о пользователях, отображает имя пользователя логин, настоящее имя, имя терминала и статус записи. это довольно старая команда для Linux и редко используемые в настоящее время.

telnet

Подключается хозяина назначения по протоколу Telnet, если телнет соединение установить на любом порту означает соединения между двумя хостами работает нормально.

Обычно он используется для того чтобы узнать жив ли хост ​​или сетевое соединение в порядке.

Тема «Топ-10 Основных сетевых команд в Linux» завершена, но если я не упомянул о более хороших команд на Ваш взгляд, то пишите в комментарии и я дополню эту статью. Если есть вопросы и предложения, пишите все в комментарии. Спасибо.

One thought on “ Топ-10 Основных сетевых команд в Linux ”

Ну что прикольная статься. Норм короче. Автор красавчик.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

15 примеров команды PING для диагностики сети

10 минут чтения

Благодаря Linux, у нас есть очень много инструментов облегчающих администрирование и диагностику сети. В этом плане команда PING является одним из самых полезных инструментов для системных и сетевых администраторов.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Сама базовая возможность этой утилиты – определить доступен ли тот или иной хост. Тем не менее в этом материале мы приведем примеры расширенных возможностей этой команды в системе Linux.

Про Linux за 5 минут | Что это или как финский студент перевернул мир?

  • Для чего используется команда PING?

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

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

    Как видно, эта команда очень необходима для администрирования сети и серверов.

    Как работает команда PING?

    Принцип работы команды Ping прост: она посылает серию пакетов маленького размера на указанное устройство.

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

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

    Например, в локальной проводной сети команда вернет лучший результат по времени, чем в сети с несколькими маршрутизаторами и сетевыми мостами.

    Однако, на основе полученной информации утилита будет судить о состоянии целевого устройства.

    Синтаксис команды следующий:

    Ниже приведены некоторые полезные и часто используемые ключи для этой команды:

    • -c: Позволяет указать количество пакетов для отправки.
    • -s: Позволяет изменять размер пакета по умолчанию.
    • -v: Отображает текущее состояние выполнения команды.
    • -w: Указывает в секундах время завершения команды.
    • -i: Позволяет указать интерфейс, с которого будут идти запросы.

    Можно ли использовать PING с прокси-сервером?

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

    Проблема в том, что команда PING требует прямого соединения между устройствами. Таким образом, команда Ping не может функционировать если перед ним стоит прокси-сервер.

    Как вариант, можно воспользоваться сайтами, которые предлагают команду Ping как услугу. С другой стороны, для решения некоторых задач с командой Ping, можно использовать команду curl . Также можно прибегнуть к помощи VPN, который спрячет ваш реальный IP.

    Ping IPv6 адресов

    По умолчанию, когда запускаем команду PING, мы используем IP версии 4. Однако, с появлением протокола IPv6, все чаще стали встречаться адреса такого формата.

    Ядро Linux поддерживает IPv6 начиная с версии 2.2, так что все дистрибутивы Linux поддерживают этот протокол.

    Базовый синтаксис таков:

    В старых версиях была команда ping6 . В новых дистрибутивах её нет и весь функционал объединен с ping .

    Как и при работе с IPv4, ключом –c можем указать число пакетов, для отправки, а ключ –i – определяет интерфейс для исходящих запросов.

    Ping конкретного порта

    Иногда приходится проверят доступен ли тот или иной порт на проверяемом хосте. К сожалению, команда Ping не имеет такой возможности, но это можно сделать с помощью telnet , который по умолчанию установлен на Linux.

    Чтобы проверить доступность порта просто введите следующую команду:

    Ping с выводом времени

    Хотя команда ping дает много полезной информации, но этого может быть недостаточно. Тем не менее, есть возможность настроить команду так, чтобы она показала дату и время отправки пакета. Это может сделать вывод приятней и полезней для скриптов и логирования.

    Для этого достаточно прописать указанную ниже команду. Но вам придется установить пакет ccze .

    Как видно из скриншота, команда показывает дату и время отправки каждого пакета.

    Ping всех устройств в указанной подсети

    Командой Ping можно посылать сигнал всем хостам в сети или подсети. Для этого нужно запустить ping с ключом –b на широковещательный адрес, который заканчивается на 255. Например:

    Итак, если хост назначения недоступен, значит либо там блокируются ICMP пакеты, либо есть проблемы с сетью или таблицей маршрутизации.

    Как завершить команду PING?

    По умолчанию, в системе Linux команда Ping непрерывно посылает пакета на хост. Но если нужная информация получена, то необходимо как-то прервать выполнение команды. Для этого просто нужно нажать комбинацию клавиш CTRL+C .

    После этого команда немедленно остановится.

    Завершение работы команды по счетчику

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

    Где расположена утилита PING?

    В Unix-подобных системах таких, как Linux бинарные файлы обычно располагаются по пути

    В этой папке можно найти все множество бинарных файлов, которые мы используем как команды в терминале. В других ОС семейства Linux, они могут быть расположены в:

    Проверить это можем командой ls :

    На скриншоте видно, что команда ping находится в папке

    Другой метод, которым можно найти место расположения команд это which :

    На выводе она даст следующую информацию:

    Проверка задержки командой PING

    Одна из возможностей, предоставляемых командой PING, является возможность измерения времени отклика сети. По-другому это называется задержка или время ожидания.

    Чтобы измерить задержку введи указанную команду и обратите внимание на ввыод:

    Как вы могли заметить, каждый пакет был отправлен с конкретным временем ответа. В конце же есть строка, которая начинается на:

    Второе значение после знака равенства – это время задержки. В нашем случае он равен 6,798.

    С помощью этого показателя мы можем определить хосты, связь с которыми хуже и приять соответствующие меры.

    Поиск идеального значения MTU

    MTU (Maximum Transmission Unit) это максимальный размер пакета, который может быть передан по сети.

    Сегодня, в целях безопасности, в сетях создаются препятствия для работы MTU. Но большинство локальных сетей на основе Ethernet использует MTU размером 1500 байт.

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

    Чтобы сделать это запустите следующую команду:

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

    Если получите другое сообщение, начальное значение должно быть уменьшено по единице до тех пор, пока не получите требуемый результат.

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

    Ping на 2-ом уровне OSI (использование arping)

    С помощью команды ping диагностика проводится на основе IP-адреса конкретного узла в сети. Это связано с тем, что команда ping работает на третьем сетевом уровне модели OSI.

    С другой стороны, можно использовать другую встроенную в Linux команду – arping . Эта утилита работает так же, как ping, но на втором – канальном уровне модели OSI.

    Синтаксис команды следующий:

    В результате получите что-то подобное:

    Вывод команды показывает размер отправленного пакета, затем MAC адрес узла назначения, а также время ответа.

    Отметим, что эта команда не предустановлена на системе Debian и производных.

    Ping по имени узла

    По умолчанию, команда ping посылает пакеты на узел назначения используя IP адрес или имя узла назначения. Также нужно отметить, что большинство реализаций утилиты ping на Linux не разрешают DNS в обратном направлении.

    Например, если мы запустим команду ping, указав IP адрес, он вернёт только IP узла. И наоборот, если параметром передадим имя узла, то команда вернет его IP адрес. Посмотрите вывод введя команду ниже:

    Ping маршрута (traceroute)

    Сама по себе команда ping не показывает пути от источника к узлу назначения. Но это было бы очень кстати в том случае, когда узел назначения не отвечает, чтобы определить где именно теряется связь.

    Команда tracert (Windows) или traceroute работают аналогично ping. Преимуществом этой команды является то, что он показывает весь путь следования пакета от источника до узла назначения.

    В принципе traceroute посылает тот же ICMP пакет, что и Ping. Но в случае traceroute, в отличии от ping начально значение TTL пакета выставляется равным единице. Пакет доходит до первого узла по пути к узлу назначения. Устройство уменьшает TTL на одну единицу и если получается нуль, то возвращает сообщение об ошибке истечения времени пакета. В сообщение так же содержится IP адрес и имя хоста. Отправитель получает данное сообщение. Если оно не от узла назначения, то посылает второй пакет с TTL на один больше предыдущего. И так до тех пор, пока не получит ответ от узла назначения. Для получения пути нужно ввести команду:

    Запустить команду если ping вернул ошибку

    Представьте, что вам нужно получить оповещение если узел назначения перестал отвечать на запросы команды ping. Для этого нужно включить команду ping в bash скрипт и прописать нужные команды. Например, скрипт ниже позволяет вам проверить отвечает ли узел на запросы ping:

    Установление размера пакета ping

    По умолчанию, размер пакетов ICMP равен 56 байтам. Это позволяет не влиять на работу сети во время проверки. Но при необходимости можно изменять это значение. Для этого достаточно запустить команду ping с ключом –s и требуемым размером. Например:

    Если нужно установить значение пакета равным 100 байтам, нужно прописать команду ниже:

    Отключение команды ping

    Если вы обслуживаете сеть, то вам может быть необходимо отключить ответ на ping запросы в любое время. Это можно сделать как временно, так и постоянно, в зависимости от ваших нужд. Для временного отключения команды ping нужно ввести команду ниже от имени root-а:

    Она выключить возможно ответа на ICMP запросы до перезагрузки системы. Но если нужно навсегда отключить эту возможность, то придется отредактировать файл

    и добавить следующую строку:

    Сохраните файл и, для применения изменений введите команду:

    Заключение

    В этом материале мы рассмотрели, как команда ping работает в системе Linux. Ping одна из самых легких команд. Она позволяет лицам, ответственным в обеспечении нормально работы сети, выявлять проблемы и устранять их.

    Онлайн курс по Linux

    Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

    Источник

    Читайте также:  Running windows commands from python
  • Оцените статью