0,6-2,2 Кбит в секунду на iperf. Но это без учета сжатия, т.к. трафик iperf практически не сжимаем. Под Opera Turbo (а еще лучше Opera Mini Proxy) google и википедия юзабельны.
Полагаю, скорость можно значительно увеличить, если dns сервер будет в России (я использовал co.cc как первый попавшийся сервис, позволяющий указать свои nx для бесплатного домена).
Спрос будет как минимум для тех, кому аську на работе на дают. Только вот клиент запустить без прав администратора не получится. Так что мало сервера — для бизнеса надо еще какой-нибудь клиент на джаве-флеше написать, чтобы в браузере работал. Тогда — может быть и получится интересный проект.
Джаваскрипт — просто язык; возможности его определяются той объектной моделью, которая скриптуется им.
Расширения Файерфокса имеют дело с компонентами XPCOM.
На этом этапе проблема в том, что документация по nsISocketTransportService содержит алые пометки<.nobr> «Native code!», которые значат, что соответствующие функции доступны языку C/C++,но не джаваскрипту.
На мой первый беглый взгляд, это свидетельствует о том, что расширение FireTorrent использует не только джаваскрипт (который, естественно, кросс-платформенный), но и некоторый компилируемый код (различный для различных платформ).
Ну, например www.sameplace.cc/, кажется он не содержит нативного кода. Во всяком случае, два года назад я видел экстеншен, который содержал полноценный xmpp-клиент без нативного кода.
Необходимо понимать, что есть привилегированный код, внутри расширений например, и есть простой черный код внутри веб страниц. Так вот, первый почти наверняка имеет полноценный доступ к кукам, а вот последний совершенно точно не имеет.
Спасибо! Увидев знакомое имя, подумал: вот гоняли в свое время фидошный трафик бесплатно по телефонным линиям на модемах в 2400 бод, а сейчас примерно на той же скорости можно бесплатно через «отключенный» интернет трафик гнать. История повторяется :)
Собственно говоря, можно и фидошный траффик гнать, если binkd поднять на той же машине, на которой клиент iodine. Я как раз это обдумывал в качестве средства раздачи пойнтов (а затем и бандлов) зафайерволленным фидошникам.
Думаю, что многим будет интересен ответ на ещё один напрашивающийся вопрос: как по-простому проверить наличие этой дыры в DNS-сервере,к которому идут запросы клиента? Просто «nslookup что.угодно.dnstun.co.cc» из-под той винды,на которую предполагается ставить клиента?
Это не совсем дыра, это формально законное использование протокола dns. Поэтому, видимо, и не закрыто до сих пор.
Что касается простой проверки, как правило, если работает dns (ipconfig /flushdns, затем nslookup ya.ru), то заработает и тоннель. В случае, если конкретно NULL-записи через данную dns цепочку не передаются, можно попробовать NSTX, Ozyman DNS и другие аналогичные проекты, которые используют не NULL, а более распространенные CNAME запросы (но заставить это работать под win32 будет куда сложнее, хотя у меня однажды получилось, уже сам точно не помню, каким колдовством, но cygwin'ом там пахло точно). Они заработают наверняка, если только администратор dns сервера специально не заблокировал возможность dns tunneling'а (а я не слышал пока о софте/патчах к известным серверам, которые могли бы реализовать такую блокировку, хотя в теории это не должно быть сложно).
Однозначно простую проверку, будут ли работать NULL-запросы (и, следовательно, описанный метод) в конкретном случае я привести не берусь. Разве что сделать где-то в сети базу публичных iodined-серверов, чтобы можно было хранить у себя копию базы и проверять связь на одном из них.
Прикольно! Только одна неувязочка есть, если отключен за неуплату интернет, то нельзя скачать все, что нужно. :)
Но это если сильно придираться и не иметь телефон под рукой. :)
статья интерестная. В своё время, пока не было нормального инета пытался этой ерундой заниматься. Использовал гентуху, так как другого у меня не было(спасибо срезам XOR'а). Действительно, небольше 1.5 килобайта. Но когда нет инета, пойдет :)
ЗЫ авторо молодец что сделал такое ограничение как правку MTU самому, ибо кулхацкеры не смогут догодатсо что это :).
Защититься от такого туннелинга можно, если запрещать рекурсивные запросы на DNS сервере для отключенных клиентов. Но это даёт хорошую нагрузку на железо, т.к. приходится bind скрещивать с SQL сервером (memcached+SQL сервером) и поддерживать отдельный acl в актуальном состоянии.
Есть ещё способы, но они к настройке dns сервера отношения не имеют (например, изолирование сетей)
Для ipfw есть вариант использовать table + NAT для отключённых клиентов. Вариант очень удобный, ибо table можно динамически править, а для отначенной айпихи понаделать разных вещей, не только отказ в рекурсивных DNS-запросах, но и заворот всех обращений на 80 порт на локальный HTTP-сервер с custom error page, в котором будет сообщаться об исчерпании баланса.
Я на связке локалхост — Виртуальная Машина получил скорость что-то около 10 кБ/с
Страшно было подумать, какая же скорость будет в реальных условиях, поэтому забросил эксперименты.
написали же выше: максимум 2-3 кб/сек. Я вообще считаю, что это хоть и может кому то пригодиться на практике, но бОльшая польза все-таки в самом знание о существовании этой фичи
ниебацо аргументов. вот так дибилы и растут, ты (и следующий) ознакомься с термином «маршрутизация». а dyndns придумали наверное в 90-х для таких же тупых пользователей AOL в штатах, когда провайдеры кому-то еще давали не локальный IP при подключении.
Чаше всего у провайдера upnp не настроен.
Без настроенного upnp порт переброшен не будет -> отдача точно будет хреновой.
Поэтому лучше иметь любой внешний ip, неважно, статический или динамический.
Я не прав?
Если не брать в расчет UDP hole punching, то прав. Почти. Хреновой будет не конкретно отдача или получение. Хреновой будет возможность соединения с другим пиром с таким же внутренним адресом, а именно, такая возможность чуть более чем полностью будет зависеть от успешности этого самого hole punching'а.
См. комментарий выше, все-таки такая возможность есть, хоть и срабатывает не всегда и не везде (а вы думаете, как скайп завоевал популярность?). Но в общем случае Вы, безусловно, правы.
Спасибо, пожрал. Для p2p сетей вообще пофиг статический он или динамический, а если нужен доступ, то можно написать скрипт, который апдейтит ip в dns записях.
А давным-давно на ЛОРе пробегал чей-то личный проектик, с помощью которого инкапсулировался трафик в jabber-сообщения. Если в локалке есть jabber-сервер и с него можно писать наружу — вполне себе альтернатива. К сожалению, канал был довольно падуч, но при дефолтных настройках лимитов можно получать около 6 КБ/сек, а вся схема несколько попроще будет :)
ppp4j назывался если мне память не изменяет. 8КБ/с вытягивал (против КБ/с через иодин к тому же серверу), но реально было проще незакрытый ssh с -D использовать ;)
Согласитесь, сегодня при отключении основного интернет канала никто не будет использовать данный способ именно по причине доступности соседского wi-fi/wimax/gprs/3g.
Конечно, большинство не будет, соглашусь. Но разве интересно было бы читать здесь про использование так называемого мобильного интернета в качестве резервного способа выхода в Сеть? К тому же предлагается абсолютно бесплатный способ.
Я сам использовал такой способ лет 7 назад.
Просто хочу сказать, что это все не актуально на практике и может быть интересно лишь для каких-нибудь академических целей.
Безусловно, не актуально! И еще это как минимум является нарушением договора с провайдером или оферты, в случае публичной wi-fi точки.
Но то, что описание способа взлома автомобильного замка жигулей может использоваться для угона машин, а также то, что жигули не интересны тем, кто ездит на фольксвагенах, не помеха к публикации описания взлома. Как минимум, чтобы производители замков обратили на него внимание.
PS: С другой стороны, это вариант срочно прочитать почту, когда нет времени бежать платить за связь :)
Совершенно спокойно можно найти, живя в поселке в трех километрах от Твери.
DSLAM на АТС забит по самые гланды, расширения не обещают, => подключить линию не выйдет; БД всех трех ОПСОСов переодически же падают даже от звонков, и платить даже два пятьдесят за скорость в 1 кбайт\с я не согласен.
на что народ только не идет… в моей сети я помню какие-то студенты траффик в arp запросы инкапсулировали…
а вообще, чтобы пост был достойным тематики, куда его поместили, не плохо было бы разместить в нем средство противодействия
Про средство противодействия: я уже писал, что готового решения не существует, так как эта техника формально является корректным использованием dns. Каждый провайдер придумывает, как избежать злонамеренного использования, сам. Или вообще не думает на эту тему. Я ждал пары-тройки типовых решений в комментариях — и они там появились. Спасибо авторам.
ну про протокол можно прочитать в вики и рфц, там просто использовались поля для логического адреса отправителя и получателя, а по сути «их arp» протокол был похож на udp в пределах физической сети из свичей L2 и с маленьким размером
какие-то кривоватые решения
первый сложен в реализации(я молчу про операцию скрещивания bind acl + sql — это вообще отдельно патчи писать надо), скорее всего будет существенная потеря в производительности, что совершенно не допустимо для dns сервиса.
а второй… я работаю в провайдере уже не первый год, на какие только ухищрения не приходится идти, чтобы убрать одно правило из фаервола для увеличения производительности. А тут так просто решили — давайте сделаем еще одну таблицу… Что касается переадресации всего трафика на 80 порт локального сервера — бред полнейший. Ну вот у человека кончились деньги, он заходит на сайт гугля, его перекидывает на страничку прова «пора платить» — это понятно, тут даже не обязательно, чтобы у человека днс работал(редирект делается обычно по ипу). Но зачем это делать для других протоколов? Неужели вы думаете, что если человек будет пробовать залогиниться в аське, то он туда получит это сообщение? А в итоге мы получим кучу бесполезный запросов на вебсервер с разных протоколов, включая днс.
А эффективное решение в данном случае очень простое:
у провайдера 2 днс сервера, первый из них доступен только при открытом инете, второй же доступен и при закрытом, но он в состоянии резолвить только допустимые адреса, а именно: домен провайдера и разрешенные сайты(скажем те, через которые он может оплатить инет).
На сколько мне известно, что большинство сетевых ОС не распределяет нагрузку перед указанными днс, а шлет все по первому, а уже если он не доступен, то по второму и т.д. Так что это не должно вызвать затруднений.
DNS Tunneling via iodine: сыр действительно бесплатный