Существует ли сервис эхо-запроса ICMP?

Расширьте свой физический том сначала и затем логический том:

pvresize /dev/sdb4
lvextend /dev/vg_mine/lv_root

Обратите внимание, что я кончил -L+16G — это использует все свободное пространство.

7
10.10.2014, 19:31
4 ответа

Ответ на ваш вопрос, вероятно, "Нет, не существует"

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

$ ls -l /sbin/ping /usr/sbin/traceroute
-r-sr-xr-x  1 root  wheel  28088 Aug 12 12:19 /sbin/ping
-r-sr-xr-x  1 root  wheel  28608 Aug 12 12:20 /usr/sbin/traceroute

(Это на FreeBSD. Ваши результаты на других операционных системах могут отличаться.)

Для того, чтобы приложение генерировало сырой сетевой трафик, оно должно запускаться как root. Так как /sbin/ping уже запущено от имени root, лучше всего использовать его для генерации пингов.

Если вы делаете это для большого количества хостов, вы можете посмотреть на fping. Другой вариант - tcping, который может генерировать TCP пакеты, дающие результаты, похожие на ICMP ping. Требованием будет наличие открытого порта в целевой системе для получения пакета. Вы можете использовать это или реплицировать его подход, основанный на источнике. Оба они могут быть уже доступны в виде пакета для вашей операционной системы.

Для более масштабного решения по мониторингу Nagios и Zabbix являются популярными бесплатными опциями, но есть и множество других.

2
27.01.2020, 20:19

Может быть, слишком раздутые для того, что вы ищете, но большинство полнофункциональных решений для мониторинга, таких как Nagios, icinga или check_mk, обеспечивают мониторинг icmp и часто предоставляют API, которые можно запросить.

1
27.01.2020, 20:19

Хотя ICMP-эхо удобен тем, что это положительный ответ, вы можете выполнять тесты в режиме реального времени с отрицательными ответами, такими как недостижимый порт и недостижимый протокол, при условии, что ваш удаленный компьютер предоставляет их. Попробуйте:

  • connect()подключение к неиспользуемому порту TCP
  • send()подключение к неиспользуемому порту UDP

Вы должны иметь возможность выполнить setsockopt(fd, IP_RECVERR,...), чтобы вернуть ошибки без ошибок, и специальную опцию для получения самих ошибок. (В Linux см. справочную страницу ip(7).)

0
04.10.2021, 21:34

В качестве обновленного ответа на этот старый вопрос: с 2019 года стало возможным создавать приложение уровня пользователя -на платформе на базе Linux -, которое может выполнять запросы pingбез необходимости привилегий root.

ls -l /bin/ping
-rwxr-xr-x 1 root root 55720 Mar  8  2021 /bin/ping

ping -c1 google.co.uk
PING google.co.uk(lhr48s27-in-x03.1e100.net (2a00:1450:4009:815::2003)) 56 data bytes
64 bytes from lhr35s11-in-x03.1e100.net (2a00:1450:4009:815::2003): icmp_seq=1 ttl=119 time=13.0 ms

--- google.co.uk ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 13.047/13.047/13.047/0.000 ms

Как работает ping в Fedora без setuid и возможностей?

Параметр net.ipv4.ping_group_rangesysctl ядра Linux определяет числовой диапазон групп пользователей, которым разрешено отправлять и получать pingпакеты без дополнительных разрешений или возможностей.

0
04.10.2021, 21:50

Теги

Похожие вопросы