На форуме часто спрашивают одно и то же -
"Как указать произвольный exit node"
"Как подделать user-agent и другие заголовки"
"Как создавать цепочки тор-узлов и играть с настройками"
Если кто еще не в курсе, обратите внимание на этот опен-сорс проект:
http://sourceforge.net/projects/advtor/
Умеет все из вышеперечисленного + тонну других настроек.
[link2] https://www.pgpru.com/comment58263
[link3] https://www.pgpru.com/comment58262
[link4] https://www.pgpru.com/biblioteka/rukovodstva/setevajaanonimnostj/prodvinutoeispoljzovanietorvunix/nastrojjkatorruterapodbsdtransparenttorproxykakanonymizingmiddlebox
"Как указать произвольный exit node"
"Как подделать user-agent и другие заголовки"
"Как создавать цепочки тор-узлов и играть с настройками"
Если кто еще не в курсе, обратите внимание на этот опен-сорс проект:
http://sourceforge.net/projects/advtor/
Умеет все из вышеперечисленного + тонну других настроек.
Ссылки
[link1] https://lists.torproject.org/pipermail/tor-talk/2010-October/017689.html
[link2] https://www.pgpru.com/comment58263
[link3] https://www.pgpru.com/comment58262
[link4] https://www.pgpru.com/biblioteka/rukovodstva/setevajaanonimnostj/prodvinutoeispoljzovanietorvunix/nastrojjkatorruterapodbsdtransparenttorproxykakanonymizingmiddlebox
На форуме часто спрашивают "как мне лучше прострелить себе ногу". Сам проект интересный, но только для тех кто знает в чью ногу стреляет.
Довольно интересно. Они написали свою реализацию Tor, или поюзали существующую, ограничившись изменением интерфейса к нему + GUI?
https://lists.torproject.org/p.....-October/017689.html[link1]
автор сабжа несвоевремено делает обновления. долго висела версия 0.3.0.3
Из-за роста популярности Tor форк рано или поздно должен был случиться. Это неминуемо.
Любой проект, помимо фич, характеризуется также и доверием к его коду.
В настройках видалии можно было прописать "dnsport 53", чтобы 127.0.0.1 был днс сервером. Возможно ли такое с advor?
спасибо.
Гость (30/01/2012 20:27)
Можно подробнее? Я так понял, что прописав это можно использовать Tor, как dns. Куда это писать?
И может мне кто-нибудь объяснить почему uTorrent подключается через AdvOR вписыванием туда socks прокси, а к стандартному нет? Как я понял почему-то uTorrent не посылает DNS через стандартный клиент Tor, а через AdvOR посылает (в настройках AdvOR ничего не делал, dns в обход заблокировано фаерволом).
Еще вопрос. Как я понял AdvOR работает только в режиме клиента и трафик через него не проходит?
man tor говорит нам:
Если хочется, чтобы резолвились только DNS-запросы каких-то конкретных программ, придётся запустить DNS-сервер на другом порту PORT, после чего средствами firewall'а заворачивать запросы к DNS от соответствующих юзеров/программ на 127.0.0.1:PORT DNS-сервера. Хинт: прозрачная торификация для DNS-трафика.
Хинт: тема про AdvOR, который форк торы под виндоус.
Автор же спрашивает про стандартый клиент Tor: Вот я ему про стандартый и ответил. Поидее должно работать.
Для вас это будет, несомненно, откровением, но Tor-клиент не содержит никакого iptables-специфичного или pf-специфичного кода. Любой statefull firewall, который сможет сделать DNAT (замена dst IP:порт на заданные), достаточен для прозрачной торификации трафика. И я больше, чем уверен, что такие firewall'ы под винду есть. То, что они проприетарные, плохие или с закрытым кодом — уже дело третье. Раз пользователь выбрал винду, то, как говорится, «потерявши голову, по волосам не плачут». К тому же, никто не запрещает сделать прозрачную торификацию виндового трафика внешним рутером, который может быть на юниксе.
Нет. Откровением будет для вас, что там различные функции в коде отвечают за нетфильтр и бсд фильтр. Совершенно специфичные особенности у них, никак не пересекающиеся. Вот когда виндоус научится, тогда и под него напишут поддержку, но свою специальную.
Ага, и IP-пакеты и протоколы у них разные. У винды свой, особенный TCP-протокол. Конкретную ссылку на пруф, или не было. Хоть с натами в винде и беда, номинально это можно попытаться сделать с помощью nat32. Tor'у никакой разницы, кто на него перенаправляет пакеты (iptables, pf или nat32), быть не должно. Да, и nat32 — это только на внешнем рутере под виндой, т.к. сортировки по юзерам в винде нет (сортировка по приложениям есть в других решениях, но они не умеют DNAT).
Помимо всего этого, прозрачная торификация в винде делается почти искаропки через Proxifier, но он работает как intercepting proxy — это самое популярное решение в винде для заворачивания всего трафика в Tor.
То есть вы не потрудились почитать код прежде чем утверждать про отсутсвие специфичного кода, потом начали рассказывать про протоколы и пакеты. А ведь там всё проще, адрес назначения нужно как-то получить, в зависимости от фильтра делает это по разному и вполне себе специфично, даже по времени когда адрес необходимо извлекать. Почитайте пожалуйста код, прежде чем требовать пруфов. Или вам нужен линк к вебгиту?
Ещё один "читатель кода"... Понимаете, если у вас системной картины в голове нет, вы можете хоть обчитаться коды на сях, ассемблерах, возмнить себя кулхацкером всей вселенной, но это вам не поможет, вы будете садиться в лужу постоянно.
Ничего не понял. Какой адрес назначения? 127.0.0.1? Понимаете, DNAT (rdr, redirections) работает для тысячи сервисов, как под виндой, так и под юниксами. Чем тут специфичен Tor, не ясно совершенно. Система и firewall сами отвечают за все internals, и в 999 случаев из тысячи там разумные дефолты, в которые лезть юзерам или прикладному софту нет никакой необходимости.
Например, тот же iptabels — это просто конечный автомат, который просто переписывает значения параметров IP-пакета, что-то запоминает, но не более того. В pf другая семантика (он сильно высокоуровнев, но не настолько универсален, как iptables), но суть та же: переписывание параметров IP-пакета, переброска его с интерфейса на интерфейс, изменение in на out. Всё.
Вы ещё расскажите тут, что проброс порта для ssh (это и есть DNAT/rdr) работает только потому, что ssh-сервер имеет специальную поддержку для таких случев. И проброс порта в DMZ на www-порт сервера с виндой работает потому, что виндовый http-сервер поддерживает специфику iptables, pf, ipfw, ipf и всех будущих ещё ненаписанных Unix-файерволлов.
Линк на конкретное указание специфики iptables и pf, хотя бы в коде (там же есть комментарии, да?). Но намного лучше — ссылку на указание на это в рассылке, где будет значиться «с другими fw это не заработает принципиально».
Сейчас в луже вы, впрочем как всегда. И не надо навешивать ярлыков. Если вы думаете, что у вас системная картина по этому вопросу, то для вас это будет, несомненно, откровением, ибо это не так. Оставайтесь в этом состоянии, потому что переубеждать вас бессмысленно.
Что и требовалось доказать. Ссылки нет, пруфов нет, объяснения нет, есть только голые заявления.
Мне под виндой никто не мешает написать собственную программу-обёртку, которая на лету будет делать что-то с выбранным пакетом и куда-то его перенаправлять. Файерволлы лишь автоматизируют этот процесс. Если завтра кто-то опубликует патч к tor на 5 строк и готовую инструкцию в Tor-wiki по прозрачной торификации, это ничему противоречить не будет. Строки в man tor как бы намекают, что pf и iptables — лишь распространённые примеры файерволлов, умеющих нужный функционал, не более того.
Строго говоря, работа с пакетами подарзумевает 3 операции: заблокировать/пропустить (фильтрация), поменять параметры (трансляция адресов), поменять интерфейс/gw (рутинг). Удобно все три делать в рамках одной политики, и в pf, в общем-то, это так и делается, в iptables же, впрочем, рутинг вынесен вовне (man ip). Есть отличия между тем, как разные системы делают NAT (выбор диапазона портов и т.д.), но для приложений это абсолютно прозрачно. Если знаете соответствующее системное программирование, любую из этих операций можно применить к любому пакету руками, так что нет никакой магии и волшебных отличий. Более того, некоторые особо агрессивные программы под винду, как рассказывали, имеют даже собственную имплементацию TCP/IP-стека, независимую от системной.
Создаем коннект до гугла допустим, DNAT поменял адрес назначения, подключились к TransPort Tor'а. Откуда Tor узнает куда в оригинале был коннект? С точки зрения стандартного tcp стека и стандартных сокетов сеанс связи до 127.0.0.1, оригинал потерян. Вот тут и начинаются системно специфические особенности этих двух (с вариациями для pf) фильтров.
Почему вы требует пруфы, когда вы первый заявили: Вот и доказывайте что это так, а не требуйте доказательств обратного.
Ну хоть какой-то аругумент от вас услышал, а то всё вокруг да около. Tor — не единственная прозрачная прокси. Можно такими же правилами, как и для прозрачной торификации, завернуть трафик на localhost:8118 (privoxy, http-трафик) или на localhost:3128 (сквид, куча протоколов поддерживается). Как, по-вашему, сквид с этой задачей справляется?
То, что в винде это не будет работать принципиально, заявили вы[link2], причём первый, а я только общий ответ гостю написал. Если по сути, то пусть ставит Proxifier и не мучается, получит свою прозрачную торификацию. Виндузятники подтверждают, что у них такая связка работает.
Так же как и Tor, пример получение адреса назначения для netfilter:
Для поддержки pf требуется больше кода, но заканчивается примерно так:
В Tor есть ещё поддержка natd из ipfw, там тоже по своему, впрочем и свой отдельный tcp-порт.
Понятно. Да, я повспоминал и вспомнил, что, действительно, когда-то n лет назад этот функционал обсуждался в узком кругу, и народ тоже офигевал «как это Tor так умеет». Если не вру, ответ был в том, что Tor как-то выцепляет информацию из ядра.
Но мы отвлеклись от темы. Вопрос-то гостя был про то, как делать DNS-резолвинг через стандартный клиент Tor. Поскольку DNS будет всё равно резолвиться на exit-нодах, какой адрес для DNS-сервера укажет клиент, — совершенно неважно. Т.е. ваше возражение тут неприменимо. Но это и логично: в man tor никаких оговорок на ОС для опции DNSPort нет. Соответственно, заворачивание на 127.0.0.1:53 для каких-то прог (это винда умеет) тоже будет работать, равно как и заворачивание всех DNS-запросов искаропки. Называть ли такой DNS-резолвинг прозрачным или нет — вопрос чисто терминологический. Если системный резолвер — Tor (в качестве DNS-сервера значится 127.0.0.1), то для программ всё действительно прозрачно. Собственно, я об этом и написал: Если замапить DNSPort на интерфейс/IP, смотрящий в локалку, то винда может работать и как DNS-сервер для всей локалки. Так что номинально всё в /comment58262[link3] верно, а вашу последовавшую иронию[link2] я абсолютно не понял. Что вы этим хотели сказать? К чему претензия-то?
Кстати, да, так и есть. За тем права на чтение для, например, /dev/pf[link4] и требуются.
А, понятно: когда сел в лужу сам, можно сделать вид, что никто не заметил. Главное, вовремя успевать ловить момент, чтобы успеть сообщить Хорошо, добавим на будущее этот пост в копилку. Два предыдущих топика там уже значатся.
Proxifier для Windows отнюдь не панацея, так как он не умеет перенаправлять пакеты UDP и его разновидностей, гарантируется только TCP. Для себя надо держать в уме тот неприятный факт, что он продолжат справляться с DNS и завтра, после очередного обновления браузера или автоматического системного апдейта. По слухам с UDP лучше справится ProxyCap.
Что вы этим хотели сказать?
через тор же нельзя пустить udp?
Нельзя. Видимо, Гость имел в виду или заворачивание только DNS-трафика в Tor (он тоже UDP, его можно) или давал совет для случая использования в других целях (тот же VPN, например).