URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 48001
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Проброс TCP соединение через ICMP туннель"

Отправлено auto_tips , 14-Янв-09 11:11 
Утилита PingTunnel (http://www.cs.uit.no/~daniels/PingTunnel/) позволяет организовать
TCP тунель поверх ICMP 'echo' или 53 UDP порта. Подобное может оказаться полезным для обеспечения
работы клиента для которого пакетным фильтром заблокирован весь трафик, кроме ICMP или 53 UDP порта.
Для работы PingTunnel необходим запуск прокси-процесса на удаленной машине
(не важно под какой ОС, утилитой поддерживается даже Windows), имеющей выход в сеть.

Ставим ptunnel.
В Debian/Ubuntu:
   apt-get install ptunnel
В RedHat/CentOS/Fedora:
   yum install ptunnel
Во FreeBSD:
   cd /usr/ports/net/ptunnel && make && make install

На внешней машине, имеющей выход в сеть, запускаем icmp-прокси ("-x пароль" можно не указывать,
но тогда пустит любого):

   ptunnel -x пароль

На локальной машине, на которой ничего кроме ICMP не работает поднимает туннель:

   ptunnel -p хост_прокси -lp локальный_порт_туннеля -da адрес_дальнейшего_проброса \
      -dp порт_дальнейшего_проброса -x пароль

Например:

    ptunnel -p proxy.testhost.ru -lp 2222 -da server.testhost.ru -dp 22 -x пароль

На proxy.testhost.ru у нас должен быть запущен icmp-прокси.

При коннекте на 2222 порт локальной машины, мы будем переброшены на 22 порт хоста server.testhost.ru

Например, для входа на server.testhost.ru по SSH, нужно набрать:

   ssh -p 2222 localhost

В случае проблем можно попробовать указать имя внешнего сетевого интерфейса через опцию "-c",
например "-c eth1".

Для создания туннеля через 53 UDP порт на локальной и удаленной стороне нужно запустить ptunnel c опцией "-udp".

URL:
Обсуждается: http://www.opennet.ru/tips/info/1896.shtml


Содержание

Сообщения в этом обсуждении
"Проброс TCP соединение через ICMP туннель"
Отправлено Аноним , 14-Янв-09 11:11 
да ... блокировать клиенту весь трафик, но зачем-то оставлять выход на внешние ДНС и возможность отправлять ICMP ... Это гениальная идея!

"Проброс TCP соединение через ICMP туннель"
Отправлено Аноним , 14-Янв-09 12:31 
>да ... блокировать клиенту весь трафик, но зачем-то оставлять выход на внешние
>ДНС и возможность отправлять ICMP ... Это гениальная идея!

Обычная практика блокирования, например, когда деньги на счету кончаются или аутентификация не пройдена. Запрещают доступ ко всему, кроме биллинга. Оставляют 53 UDP (DNS) порт и ICMP (чтобы суппорт мог пингнуть и проверить работу линка), ингода случается что они и во вне остаются открытыми.


"Проброс TCP соединение через ICMP туннель"
Отправлено User294 , 15-Янв-09 21:34 
>Обычная практика блокирования, например, когда деньги на счету кончаются или аутентификация не
>пройдена. Запрещают доступ ко всему, кроме биллинга. Оставляют 53 UDP (DNS)
>порт и ICMP (чтобы суппорт мог пингнуть и проверить работу линка),
>ингода случается что они и во вне остаются открытыми.

Я бы сказал что это "иногда" бывает довольно-таки регулярно...


"Проброс TCP соединение через ICMP туннель"
Отправлено Аноним , 14-Янв-09 11:48 
Сам в шоке. Именно такое практикуется в сети, к которой я подключился дома )) Буду тестить.

"Проброс TCP соединение через ICMP туннель"
Отправлено passshok , 14-Янв-09 12:32 
Пробовал такое сделать в инсте, где как раз были разрешены пинги. Нифига не получилось. Скорее всего потому что была какая-то умная фильтрация входящих ICMP пакетов. Каежтся резались большие по размеру. Ничего не вышло, хотя был полон надежд.

"Проброс TCP соединение через ICMP туннель"
Отправлено iZEN , 15-Янв-09 00:15 
>Пробовал такое сделать в инсте, где как раз были разрешены пинги. Нифига
>не получилось. Скорее всего потому что была какая-то умная фильтрация входящих
>ICMP пакетов. Каежтся резались большие по размеру. Ничего не вышло, хотя
>был полон надежд.

Скорее всего потому, что у провайдера не было установленного icmp-прокси. :))


"Проброс TCP соединение через ICMP туннель"
Отправлено Аноним , 14-Янв-09 16:17 
родные, на первом же фаэрволле с protocol helper это все будет дропнуто!

"Проброс TCP соединение через ICMP туннель"
Отправлено AdVv , 14-Янв-09 20:32 
Ты ничего не попутал с термином ?

"Проброс TCP соединение через ICMP туннель"
Отправлено zer0 , 16-Янв-09 08:53 
новая платная услуга: внешний icmp-proxy =)

"Проброс TCP соединение через ICMP туннель"
Отправлено User294 , 17-Янв-09 15:21 
>новая платная услуга: внешний icmp-proxy =)

Эта платная услуга называется VDS-сервером и их вообще-то давно и успешно продают.Нет, конечно не под icmp-proxy специально... но вообще никого не колебет что вы там поставите.Это просто ваша машина - можете и icmp proxy поставить если вам надо ;)


"Проброс TCP соединение через ICMP туннель"
Отправлено mark , 16-Янв-09 17:17 
Может кто решил проблему: мне нужно UDP траффик запустить через туннель, а он только TCP понимает.

(просто SIP-клиенты "любят" UDP) ;)


"Проброс TCP соединение через ICMP туннель"
Отправлено User294 , 17-Янв-09 15:23 
>(просто SIP-клиенты "любят" UDP) ;)

Use OpenVPN, Luke.Весь мир - в одной TCP-конекции или UDP-потоке.Благо, они не только любят UDP но еще и динамически юзают порты и так далее.Впрочем формально SIP может и TCP, но имхо проще завернуть ВСЕ на хост в интернете, поднять там нат и будет просто "якобы локалка" с NAT, от софта ничего особого не потребуется кроме умения работать с NAT(а это SIP клиенты обычно умеют).

Я конечно не знаю как будет работать VoIP в случае UDP+все прочее -> OpenVPN -> TCP-over-ICMP (или UDP)-> OpenVPN -> ....

Технически - взлетит.То есть данные гонять будет.Но будут ли задержки, потери пакетов и т.п. приемлимые - покажет только натурный эксперимент имхо.


"Проброс TCP соединение через ICMP туннель"
Отправлено Аноним , 17-Янв-09 14:45 
Для создания туннеля через 53 UDP порт на локальной и удаленной стороне нужно запустить ptunnel c опцией "-udp".

"Проброс TCP соединения через ICMP туннель"
Отправлено Аноним , 19-Янв-09 01:02 
А кому-нибудь удалось это чудо запустить под виндой? я его собрал, запускаю, делаю туннель на удаленную машину с http-прокси - но не пашет нифига. Уверен, что если соберу под FreeBSD, то все будет как надо, но нужно под винду, тем более, что в README утверждается что должно работать :)

"Проброс TCP соединения через ICMP туннель"
Отправлено Woland , 19-Янв-09 07:13 
>А кому-нибудь удалось это чудо запустить под виндой? я его собрал, запускаю,
>делаю туннель на удаленную машину с http-прокси - но не пашет
>нифига. Уверен, что если соберу под FreeBSD, то все будет как
>надо, но нужно под винду, тем более, что в README утверждается
>что должно работать :)

Собрал виндовый бинарник кросс-компилером под дебианом и отправил патчи к мэйкфайлу разработчику.

http://fox.perm.ru/pub/ptunnel/

У меня замечательно всё работает.


"Проброс TCP соединения через ICMP туннель"
Отправлено Woland , 19-Янв-09 07:14 
>
>http://fox.perm.ru/pub/ptunnel/
>

ftp://


"Проброс TCP соединения через ICMP туннель"
Отправлено Аноним , 20-Янв-09 02:22 
Не работает, та же история что и с моим бинарником :( Чую, проблемы в винде, но где?
Как в винде указать нужный интерфейс?

"Проброс TCP соединения через ICMP туннель"
Отправлено drunkmaster , 20-Янв-09 14:03 
>Не работает, та же история что и с моим бинарником :( Чую,
>проблемы в винде, но где?
>Как в винде указать нужный интерфейс?

Замечательно работает без указания интерфейса. Возможно, проблема на другом конце.


"Проброс TCP соединения через ICMP туннель"
Отправлено Аноним , 20-Янв-09 20:43 
если пинги на другой конец проходят нормально, то какая может быть проблема?
к тому же, я пробовал вешать все на localhost - картина та же.

"Проброс TCP соединения через ICMP туннель"
Отправлено Алексей , 19-Янв-09 14:26 
А ддлки?
PAcket.dll
wpcap.dll

Стянул чтото и инета, говорит не найдена точка входа в ДДлке?


"Проброс TCP соединения через ICMP туннель"
Отправлено Алексей , 19-Янв-09 14:36 
>А ддлки?
>PAcket.dll
>wpcap.dll
>
>Стянул чтото и инета, говорит не найдена точка входа в ДДлке?

Сам себе и отвечаю.
http://www.winpcap.org/install/default.htm#graph_installer4_0


"Проброс TCP соединения через ICMP туннель"
Отправлено CHERTS , 21-Янв-09 12:18 
Через 53 порт udp нифига не работает этот тунель :( если запускать серверную и клиентскую часть с ключом -udp то клиентская часть даже и не пытается на серверную стучаться, снифер по 53 порту молчит.

А вот через ICMP туннель работает и вполне неплохо!


"Проброс TCP соединения через ICMP туннель"
Отправлено WatchCat , 25-Фев-09 00:08 
Возился с туннелями поверх GPRS, как с точки зрения сжатия трафика, так и с точки зрения получения постоянного IP-адреса при выдаваемом оператором динамическом. Ставил OpenVPN и vtund - оба есть в stable Дебиане. Результат - OpenVPN сложнее в настройке, но самое неприятное - на процесс первоначального установления соедниения скушает десяток килобайтов трафика. vtund прост как мычание,
лишнего трафика практически не ест, в работе совершенно не капризен. Остановился на нем. Но он виндового клиента не имеет, что лично мне безразлично. Цели своей добился, адрес сохраняется(маскарадный внутритуннельный, но это лучше чем маскарадный меняющися при каждом обрыве связи), трафик сжимается, особо заметно на http.
Устраивать тунель лучше по TCP, потому как UDP пакеты часто теряются и соединения нередко "замерзают" надолго, а то и насовсем.

"Проброс TCP соединения через ICMP туннель"
Отправлено Oles , 20-Июн-09 23:59 
Как раз тунели _нужно_ делать поверх UDP. А то передаваемые данные по FTP  сделают так, что в ссх работать будет невозможно - потому что пакеты _должны_ теряться и TCP знает об этом и управляет передачей данных.

"Проброс TCP соединения через ICMP туннель"
Отправлено Oles , 21-Июн-09 00:01 
Гораздно интереснее было бы сделать тунель поверх флагов в IP пакетах.

"Проброс TCP соединения через ICMP туннель"
Отправлено XoRe , 23-Июн-09 17:10 
В статье человек описывает практическое применение уже известной идеи.

Кстати есть такие же туннели и поверх dns.


"Проброс TCP соединения через ICMP туннель"
Отправлено Slavka , 28-Фев-10 23:20 
А дайте пожалуйста ссылочку для реализации туннелей поверх dns для винды ХР.

"Проброс TCP соединения через ICMP туннель"
Отправлено Alex , 19-Июл-10 14:52 
http://www.your-freedom.net/

"Проброс TCP соединения через ICMP туннель"
Отправлено Alex_and_er , 22-Окт-10 15:08 
Как найти такой прокси, к которому можно подключиться со своим клиентом, для создания ICMP тунеля?

"Проброс TCP соединения через ICMP туннель"
Отправлено Alex_and_er , 02-Ноя-10 19:07 
Нашел таки программку, Wi-Free называется. Платная но позволяет легко проверить, есть ли смысл заморачиваться.

"Проброс TCP соединения через ICMP туннель"
Отправлено Alex_and_er , 02-Ноя-10 19:11 
В ней четыре способа ICMP, UDP, DNS, TCP 53-й порт.

"Проброс TCP соединения через ICMP туннель"
Отправлено Влад , 19-Ноя-10 23:14 
напиши по порядку как мне действовать если у меня дома безлимит adsl через маршрутизатор, а мне надо на другой комп транслировать(на обеих компах ubuntu с sudo ptunnel)Типа что надо сделать на раздатчике( подробно) а затем что сделать тому, кто будет качать по icmp. заранее спасибо