На каком порту работает «ping»?

На каком порту работает «ping»?

Есть ли какой-то определенный номер порта, pingна котором команда работает по умолчанию?

Кроме того, в системе Linux есть ли способ самостоятельно выяснить, на каких портах она работает, и настроить для нее другой номер порта?

решение1

Пинг используетICMP-протоколу которого нет портов, таких как протоколы TCP и UDP.

Если вам нужно проверить, отключен ли Ping в системе Linux, вы можете проверить:

cat /proc/sys/net/ipv4/icmp_echo_ignore_all
  • 0 означает, что пинг включен. (Система будет отвечать на пинги)
  • 1 означает, что пинг отключен (система не будет отвечать на пинги)

решение2

TCP/IP использует четырехслойный сетевой стек. Канальный уровень имеет дело с физическими носителями и передачей байтов, интернет-уровень имеет дело с IP-адресами и маршрутизацией данных от одного узла к другому, транспортный уровень имеет дело с сеансами TCP и UDP, а прикладной уровень — это то, что пользовательские программы используют для обычного взаимодействия с сетью.

Пинги реализованы как часть протокола ICMP, протокола управляющих сообщений Интернета, который решает такие проблемы, как ошибки, перегрузки и т. п. ICMP реализован на уровне Интернета и, следовательно, находится в блаженном неведении относительно таких вещей, как шифрование, порты, сеансы и других вещей, предоставляемых вышестоящими уровнями, а также не знает, как байты физически попадают из точки А в точку В (что является основной целью уровня канала).

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

Вы можете включить и выключить ответы ping, но вы не можете настроить что-то, что буквально не имеет понятия в слое, о котором вы спрашиваете. Для любой данной операционной системы вам просто нужно проверить свое онлайн-руководство, как включить или отключить ответы ping. Другой ответ подробно описывает включение/выключение этого в Linux, в то время как этот ответ был предназначен для решенияпочемунет портов, которые можно настроить для пингов.

решение3

Обычный "Ping" использует протокол ICMP, который отличается от TCP и UDP, имеющих концепцию "портов". Я нарисовал схему, чтобы было легче понять:

решение4

На каком порту работает «ping»?

Никто.

Ping на самом деле НЕ является службой в традиционном смысле. Не существует сервера-демона ping.

Ping (формально ICMP Echo) предоставляется драйвером IP в ядре, возможно, даже самим оборудованием в некоторых архитектурах с аппаратной разгрузкой. Также, как уже упоминали другие, он использует ICMP. Мир не разделен ни на udp, ни на tcp.

Существуют и другие протоколы уровня 4 с различной степенью общности, такие как ICMP, IGMP, PPTP, являющиеся частью IPSec.

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

Связанный контент