Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Поддержание доступа с помощью пробивки отверстий ICMP
Обеспечение доступа с помощью пробивки отверстий ICMP.

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

Пробивка отверстий ICMP устанавливает связь между двумя хостами, обменивающимися данными через один или несколько трансляторов сетевых адресов в одноранговой или клиент-серверной модели . Обычно сторонние узлы в сети общественного транспорта используются для установления состояний портов UDP или TCP, которые могут использоваться для прямого обмена данными между взаимодействующими узлами, однако пробивка отверстий ICMP не требует участия третьей стороны для передачи информации между одним или несколькими NAT с использованием свободный прием NAT входящих пакетов ICMP Time Exceeded . [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 REQUEST не будет маршрутизироваться маршрутизаторами без маршрута по умолчанию; Сообщения ICMP DESTINATION UNREACHABLE, которые могут быть созданы этими маршрутизаторами, могут просто игнорироваться сервером. В результате сообщений, отправленных на 1.2.3.4, NAT разрешит маршрутизацию ответов в ответ на этот запрос. Тогда подключающийся клиент подделает такой ответ. В частности, клиент передает ICMP-сообщение с указанием TTL_EXPIRED.Такое сообщение может быть законно передано любым интернет-маршрутизатором, и не ожидается, что адрес отправителя будет соответствовать целевому IP-адресу сервера. Сервер прослушивает (поддельные) ответы ICMP и при получении инициирует соединение с IP-адресом отправителя, указанным в ответе ICMP.

См. Также [ править ]

Ссылки [ править ]

  1. ^ Мюллер, А .; Evans, N .; Grothoff, C .; Камкар, С. (2010). «Автономное прохождение NAT». 2010 Десятая международная конференция IEEE по одноранговым вычислениям (P2P) . IEEE. С. 1–4. DOI : 10,1109 / P2P.2010.5569996 . ISBN 978-1-4244-7140-9.
  2. ^ "Программа для обхода NAT pwnat" . 2010-01-22 . Проверено 19 мая 2011 .
  3. ^ "Полный документ об автономном прохождении NAT" (PDF) . 2010-08-25 . Проверено 19 мая 2011 .