Со времени
событий вокруг uTP прошло более 4 месяцев, разработчики uTorrent на месте не стояли, в
теме на nag.ru тоже накатали уже более сорока страниц. Придумал и я принципиально новый способ ловить соединения торрентов, но обо всём по порядку.(
Рабочий скрипт с демонстрацией концепта прилагается )
Comments 28
Или простейший вариант - на трекере в веб-морде юзеру даётся ключ, который забивается в клиент. И взаимодействие с данным трекером шифруется (всё или частично). Опять же - алгоритма достаточно простейшего и нересурсоёмкого, трекеру, в отличие от провайдера, ничего брутфорсить не понадобится.
Reply
Reply
Запуск
(./torrent_tracker_catch.pl | ./torr_ipfw_tbl_add.sh) >error.log 2>&1 &
сильно грузит проц из-за использования шела, лучше добавлять записи в таблицу внутри скрипта perl
Reply
Раздающих:
# ipfw table 68 list| wc -l
239653
Количество наблюдаемых треккеров:
ipfw table 12 list| wc -l
25
Вот сравнение трафика за минуту из таблицы 68 и общего UDP( table 4 - абоненты с высокой активностью количества соединений udp):
12050 121991 97920245 skipto 15000 udp from 192.168.8.0/21 to table(68) in via em0 limit src-addr 5
12051 457802 323512845 skipto 15000 udp from table(4) to any in via em0 limit src-addr 15
Reply
При этом всё же есть вероятность, что часть трекеров будет пропущена, а хватит и одного трекера, чтоб начать кушать полосу.
> сильно грузит проц из-за использования шела, лучше добавлять записи в таблицу внутри скрипта perl
Ну, я об этом выше писал, у ЖЖ на размер поста ограничения, а модифицировать самостоятельно не столь сложно.
> эффективность очень низкая
> 12050 121991 97920245 skipto 15000 udp from 192.168.8.0/21 to table(68) in via em0 limit src-addr 5
> 12051 457802 323512845 skipto 15000 udp from table(4) to any in via em0 limit src-addr 15
Вы проверяете только по счетчикам и только в варианте с динамическими правилами? Дело в том, что limit работает так: проверяется, не превышен ли для текущего пакета лимит, если да, то пакету тут же безусловно делается deny, но вот счетчики на правиле - им всё равно инкрементируются. Попробуйте посмотреть без динамических правил.
Reply
awk '{ print "table 1 add ",$0," \n" }' < $1 | /sbin/ipfw /dev/stdin
Скорость загрузки примерно в 1000 раз ускоряется, тк там самая дорогая операция запуска ipfw, а он может хоть миллион правил за один запуск влить.
Reply
Reply
Программирование libpcap практически идентично divert, кроме чуть другой обертки подключения.
Reply
Reply
Leave a comment