На форуме часто спрашивают одно и то же -
"Как указать произвольный exit node"
"Как подделать user-agent и другие заголовки"
"Как создавать цепочки тор-узлов и играть с настройками"
Если кто еще не в курсе, обратите внимание на этот опен-сорс проект:
http://sourceforge.net/projects/advtor/
Умеет все из вышеперечисленного + тонну других настроек.
Ещё один "читатель кода"... Понимаете, если у вас системной картины в голове нет, вы можете хоть обчитаться коды на сях, ассемблерах, возмнить себя кулхацкером всей вселенной, но это вам не поможет, вы будете садиться в лужу постоянно.
Ничего не понял. Какой адрес назначения? 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-стека, независимую от системной.
Почему вы требует пруфы, когда вы первый заявили: Вот и доказывайте что это так, а не требуйте доказательств обратного.
Ну хоть какой-то аругумент от вас услышал, а то всё вокруг да около. Tor — не единственная прозрачная прокси. Можно такими же правилами, как и для прозрачной торификации, завернуть трафик на localhost:8118 (privoxy, http-трафик) или на localhost:3128 (сквид, куча протоколов поддерживается). Как, по-вашему, сквид с этой задачей справляется?
То, что в винде это не будет работать принципиально, заявили вы, причём первый, а я только общий ответ гостю написал. Если по сути, то пусть ставит Proxifier и не мучается, получит свою прозрачную торификацию. Виндузятники подтверждают, что у них такая связка работает.
Для поддержки pf требуется больше кода, но заканчивается примерно так:
В Tor есть ещё поддержка natd из ipfw, там тоже по своему, впрочем и свой отдельный tcp-порт.
Но мы отвлеклись от темы. Вопрос-то гостя был про то, как делать 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 верно, а вашу последовавшую иронию я абсолютно не понял. Что вы этим хотели сказать? К чему претензия-то?
Кстати, да, так и есть. За тем права на чтение для, например, /dev/pf и требуются.
А, понятно: когда сел в лужу сам, можно сделать вид, что никто не заметил. Главное, вовремя успевать ловить момент, чтобы успеть сообщить Хорошо, добавим на будущее этот пост в копилку. Два предыдущих топика там уже значатся.
через тор же нельзя пустить udp?