
Так как в отеле делать практически нечего, а интернет в номере ужасно дорогой ($7/час) во мне проснулся спортивный интерес. Решил проверить на сколько возможно бесплатно получить доступ в сеть. Я подключил кабель к ноутбуку, убедился, что IP адрес и шлюз выдались по DHCP. Введя запрос в браузере я был перенаправлен на страницу отеля, с предложением активировать платный интернет. После этого я решил попробовать пропинговать google.com. Ничего не получилось, IP адрес не определился и соответственно пакетам идти было некуда. Тогда я решил попробовать пингануть айпишник гугловых DNS серверов (8.8.8.8). ICMP протокол был не заблокирован и ответы я получал. Тогда я понял что могу использовать ICMP туннелинг. Стоит отметить что информация в данном посте является ознакомительной и не в коем случае не является призывом к действию. Основной ее целью является показать какие ошибки могут допускать системные администраторы.
Что такое ICMP туннелинг?
ICMP туннель — скрытый канал для передачи данных, организованный между двумя узлами, использующий IP-пакеты с типом протокола ICMP (обычно echo request, echo reply). Wikipedia
Суть заключается в том, что на вашем компьютере устанавливается ПО, которое будет все пакеты, которые приходят на локальный порт, например 3131, упаковывать в ICMP пакеты, и посылать эти пакеты как echo request на указанный сервер. На сервере эти пакеты будут распаковываться, а их содержимое будет посылаться на указанный сервер:порт (в моем случае http proxy сервер). Ответы с icmp-сервера передаются в echo reply и распаковуются на вашем компьютере.
Как сделать?
Для реализации понадобится специальный софт. Я использовал ptunnel (http://www.cs.uit.no/~daniels/PingTunnel/).
Итак, на прокси сервере от рута я просто запустил установленный ptunnel.
На ноутбуке запустил с такими параметрами:
ptunnel.exe -p 123.123.123.123 -lp 3128 -da my.webproxy.com -dp 3128
здесь:
-p 123.123.123.123 — айпишник сервера на котором запущен ptunnel.
-lp 3128 — локальный порт, на который надо будет направить обращения
-da my.webproxy.com — адрес сервера, на который удаленный ptunnel будет направлять запросы.
-dp 3128 — порт сервера указанного в da, на который ptunnel будет направлять запросы.
Вот и все!
Остается в браузере указать прокси сервер 127.0.0.1:3128 и вперед.

непонятно откуда взялся прокси? надо купить в отеле час? настроить прокси, а потом туннель?
как минимум ptunnel где-то взять надо, если уже в отеле, не носить же с собой.
Можно ли это сделать на дедике?и где взять адрес сервера, на который удаленный ptunnel будет направлять запросы ?
На дедике можно. Главное — понимать что есть клиентская часть приложения и серверная. Клиентскую ставить и использовать в закрытой сети (где только icmp работает). Серверная должна быть установленна где-то на сервере с выделенным IP адресом. Серварная часть будет принимать ICMP пакеты, парсить их, и отвечать ICMP пакетами с контентом.
да, обязательно надо иметь настроенынй заранее сервер, либо купить час интернета и настроить все.
[...] ограничений интернет провайдера в отеле с помощью ICMP туннеля. Вот, недавно я столкнулся с новым подобным [...]