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

Исходное сообщение
"Как послать челу под NAT'ом пакет, зная его ext и int ip?"

Отправлено Programmer , 10-Июн-04 22:33 
Чел сидит под NAT'ом, нужно заслать ему UDP.

Содержание

Сообщения в этом обсуждении
"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено XMan , 10-Июн-04 22:57 
Теоретически, сам формируешь udp-пакет с адресом-назначением int и отправляешь его на ext, как на роутер.

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

PS. Сам я в этих делах не мастак, но по идее оно работает так :)


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено Programmer , 10-Июн-04 23:14 
>Теоретически, сам формируешь udp-пакет с адресом-назначением int и отправляешь его на ext,
>как на роутер.
>
>Но опять таки - это зависит от того, как построен файрвол. Если
>в правилах сказано, что с внешнего интерфейса пакеты для внутренней сети
>принимать нельзя (как это должно быть), то номер не пройдет.
>
>PS. Сам я в этих делах не мастак, но по идее оно
>работает так :)

Еще один вопрос: а как мне внутренний ip узнать его, от него пакеты когда идут, в заголовке внешний стоит.


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено XMan , 11-Июн-04 00:08 
А никак.

Ты определись - известен int или нет :)


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено Programmer , 11-Июн-04 00:16 
>А никак.
>
>Ты определись - известен int или нет :)

Как никак? Ситуация то простая как лопата: пишу клиент-серверное ПО, но встала проблема экономных провайдеров, которые всех своих юзеров на парочку ip садят. Нужна возможность доставки пакетов tcp и udp, когда ip реальный все ок, а когда нет, чего делать?


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено XMan , 11-Июн-04 00:59 
А вот так вот - никак :)

Если ты имеешь ввиду аську, которая показывает внутренний IP, так это сам клиент говорит серверу, если не отключить эту фичу. А для старого протокола (который еще по udp работал) в ipchains/iptables есть отдельный модуль. Так же как и для ftp для соединения в активном режиме.

В принципе, ты можешь по tcp-соединению получать эту информацию. То есть, сам клиент будет её передавать серверу, а там уж делай, что хочешь.

Ну или написать свой модуль для файрвола и заставить провайдеров его подключить. Если сможешь, конечно :)


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено lamerusha , 11-Июн-04 09:23 
попробуй посмотреть в сторону GNU' ICQ и пр. софта open source - эта проблема уже давно решена...

"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено Simps , 11-Июн-04 10:35 
>попробуй посмотреть в сторону GNU' ICQ и пр. софта open source -
>эта проблема уже давно решена...

Мдя ... Куда катится мир ... Если провайдер не будет пробрасывать UDP соединения на определнный порт снаружи внутрь то хоть вы зазасылайтесь, они не дойдут ... Учите технологию работы NAT


"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено genie , 11-Июн-04 10:43 
Teoreticheski eto vozmozhno cherez LooseRouting IP option. Parkticheski ona vsemi firewallami ignoriruetsya/vyrezaetsya - posemu nikak. I uznat' int adress bez pomoschi klienta tozhe nel'zya.

"Как послать челу под NAT'ом пакет, зная его ext и int ip?"
Отправлено Programmer , 11-Июн-04 21:09 
А может у кого исходники простых асек есть? (смотрел micq, не разобрался где у нее что). И еще вопрос: я правильно понимаю, что можно используя сокеты послать на внешний ip, а в заголовке прописать внутренний?