ICMP пробивание отверстий
![]() | Эта статья может сбивать с толку или быть непонятной читателям . ( январь 2014 г. ) |

Пробивка отверстий ICMP — это метод, используемый в приложениях транслятора сетевых адресов (NAT) для поддержки потоков пакетов протокола управляющих сообщений Интернета (ICMP), которые проходят через NAT. Методы прохождения NAT обычно требуются для сетевых приложений клиент-клиент в Интернете с участием хостов, подключенных к частным сетям , особенно в одноранговых сетях и развертываниях передачи голоса по интернет-протоколу (VoIP).
Пробивка отверстий ICMP устанавливает соединение между двумя хостами, взаимодействующими через один или несколько трансляторов сетевых адресов либо по одноранговой модели , либо по модели клиент-сервер . Обычно сторонние хосты в сети общественного транспорта используются для установления состояний портов UDP или TCP, которые могут использоваться для прямой связи между взаимодействующими хостами, однако пробивание отверстий ICMP не требует участия третьих лиц для передачи информации между одним или несколькими NAT путем использования свободное принятие NAT входящих ICMP-пакетов с превышением времени . [1]
Как только пакет ICMP Time Exceeded достигает целевого NAT, произвольные данные в пакете, ожидаемые NAT, позволяют пакету достичь целевого сервера, позволяя целевому серверу получить общедоступный IP-адрес клиента и другие данные, хранящиеся в пакете от клиента. .
Обзор
[ редактировать ]На данный момент единственный метод пробивки ICMP или пробивки отверстий без участия третьих лиц (автономное прохождение NAT) был разработан Сами Камкаром 22 января 2010 года и выпущен в виде программного обеспечения с открытым исходным кодом pwnat , [2] и метод был позже опубликован в IEEE. Согласно газете: [3]
Предлагаемый метод предполагает, что клиент каким-то образом узнал текущий внешний (глобально маршрутизируемый) IP-адрес NAT сервера. Ключевая идея предоставления серверу возможности изучать данные клиента IP-адрес предназначен для того, чтобы сервер периодически отправлял сообщение фиксированный известный IP-адрес. Самый простой подход использует ICMP. Сообщения ECHO REQUEST на нераспределенный IP-адрес, например как 1.2.3.4. Поскольку 1.2.3.4 не выделен, ICMP-ЗАПРОС не будет маршрутизироваться маршрутизаторами без маршрута по умолчанию; Сообщения ICMP DESTINATION UNREACHABLE, которые могут созданные этими маршрутизаторами, могут быть просто проигнорированы сервером. В результате сообщений, отправленных на 1.2.3.4, NAT включит маршрутизацию ответов в ответ на этот запрос. Подключающийся клиент затем подделает такой ответ. Конкретно, клиент передаст ICMP-сообщение, указывающее TTL_EXPIRED. Такое сообщение может законно передаваться любым интернет-маршрутизатором и адрес отправителя не ожидается, что он будет соответствовать целевому IP-адресу сервера. Сервер прослушивает (поддельные) ответы ICMP и после их получения инициирует соединение с IP-адресом отправителя, указанным в ответе ICMP.
См. также
[ редактировать ]- Пробивание отверстий (сеть)
- Протокол управления портами (PCP)
- пробивание отверстий TCP
- Пробивка отверстий UDP
Ссылки
[ редактировать ]- ^ Мюллер, А.; Эванс, Н.; Гротхофф, К.; Камкар, С. (2010). «Автономный обход NAT». 2010 Десятая международная конференция IEEE по одноранговым вычислениям (P2P) . IEEE. стр. 1–4. дои : 10.1109/P2P.2010.5569996 . ISBN 978-1-4244-7140-9 .
- ^ «Программное обеспечение для обхода NAT pwnat» . 22 января 2010 г. Проверено 19 мая 2011 г.
- ^ «Полный документ об автономном обходе NAT» (PDF) . 25 августа 2010 г. Проверено 19 мая 2011 г.