IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/02/08
~R4SAS
~orignal
~villain
@onon
&N00B
+Most2
+Xeha
+acetone
+r00tobo
+relaybot
+whothefuckami
AreEnn
KabaOS
Nausicaa
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob
poriori
profetikla
segfault
soos
tolik
un
orignal а если у тебя между B и C и C и D прошло по 10 пакетов в 1K
orignal среди них только один твой
orignal обычно на одном линке сидит несколько тоннелей
onon Content-Length: 17
onon это сколько?
weko 17 байт
orignal что сколько?
orignal ну еще байтов 30 заголовок
onon Это HTTP-ответ
orignal ну ты знаешь что у тебя запрос в 47 байт
onon Такого размера были пакеты
orignal и что тебе это даст если ты снифером видишь только пакеты дли нов 1K?
orignal ребята пиздят
orignal не может по тоннелю идти пакет в 17 байт
onon Ну, я хз. В документе их контакты есть, можешь им так и написать.
orignal а мне зачем это?
weko они значится не шмогли
weko а им писать
weko ну не не ))
orignal разумеется по TCP будет и длиной 17
orignal например Datetime
orignal для синхронизации часов
weko так паддинг же добавляется
orignal ну он вроде до 10%
orignal надо в код глянуть
orignal короче моя мысль в том что короткие пакеты по TCP это служебные сооющения
orignal ну или просто так ядро порезало
orignal далее они вот сделали HTTP запрос там же не только запрос уйдет
onon Могу сюда в ирку на другой канал запостить, отдельно раздел с этой атакой
orignal а куча всякой хуйни типа адреса длиной 391
orignal не надо
orignal нет там атаки
orignal там есть наукообрзаные рассуждения
orignal далее ratchets добавит в пакет еще кучу дерьма типа s ключа
onon Ну, в общем они и пишут, что на реальной сети такое скорее всего не получится.
weko а они хоть проверили, что это реально путь туннелей? а то напиздеть то каждый может, что мол отследили
orignal вот да что опредленный концы тонелей действительно соотвествуют лизсету
onon Нет, там атакуемый сервер сам отвечал своим номером: Hello from i2pd-3
onon Так проверяли результаты
weko и что
weko отвечать то отвечал
weko и что с того
weko тут важно что предполагаемый путь реальный
weko а не натянутый на глобус
orignal но я вот что думаю
orignal на OBEP лучше был размер паддинга увеличить чтобы было близко к 1K
orignal счас деду скажу
weko надос сначала смотреть, потом уже делать
weko графики рисовать и так далее
onon Во втором сценарии снова были настроены 16 I2P-маршрутизаторов. Однако на этот раз генерация трафика была скорректирована. Помимо прочего, было установлено гораздо больше связей, и, главное, связи были установлены одновременно.
onon Команды запросов в скрипте выдавались не только одна за другой, но также одновременно и с разными интервалами. Это означало, что за 20 секунд не только генерировалось гораздо больше трафика, но и график потока уже не был таким понятн�
onon ия
orignal ну смотри если у нас линк идет с OBEP куда то а отправить надо только одно сообщение короткое
orignal а очереди нет
orignal тогда есть смысл догнать паддинг до 1K
orignal weko что думаешь?
weko ща
onon На этом графике только 6 HTTP-запросов было отправлено из 3 разных источников в 3 разных места назначения. Тем не менее, вы можете увидеть, как на самом деле общались между собой все 16 узлов I2P. Цветные кружки обозначают маршрутизатор I2P,
onon значают соединение.
onon Число в середине ребер описывает размер IP-пакетов в байтах, а толщина линии описывает относительную разницу с другими линиями (более толстая линия = больше трафика). Благодаря этим открытиям была предпринята попытка разработать ид�
onon установили бы связь между I2P и I2P.
orignal тогда даже в полностью пустой сети у нас по всем линкам будут идти пакеты длиной в 1K
onon На картинку ссылку давал выше.
weko вообще вроде как норм добавлять паддинг до конца последнего пакета
orignal onon так я не понял у них в
orignal момент теста был транзит?
orignal или у них просто стояла и они посылали запросы?
weko orignal: ааа, ты про i2np паддинг
onon Да, причем разнообразно генерируемый
orignal weko про NTCP2
orignal так если разнообразно то у них все узлы всегда будут общаться друг с другом
orignal прчем каждый с каждым
weko orignal: щас бошка не варит
weko тут надо садится думать
weko но на обсуждение надо добавить
orignal у меня на флудфиле несколько тысяч линков и через каждый дохуя трафика прет
onon Имхо, для противодействия такому анализу, нужно генерировать рандомный трафик и с рандомными перерывами слать его подключенным узлам. А те его просто будут дропать.
weko ну сейчас только полезный шлётся
weko искалючая паддинг
weko но он тоже есть
weko в пустой сети 5KB/s есть везде
weko исследовательские туннели в основном
orignal кроме того запросы роутеров
orignal weko я сделал чтобы фреймы по 16K отправлялись
orignal а не по 64
weko orignal: я хз, как именно лучше будет. Вроде как лучше позволить ОС решать, сколько стать за раз, но с другой стороны, может пинг уменьшит
Vort я вообще не понял сути
Vort ОС и так склеит если захочет
weko Vort: так MTU обычно меньше
weko Хз крч))
weko Вроде с ntcp2 не было проблем
weko а вот со стримингом были проблемы
Vort что-то стало у меня в логи лезть сообщение "New LeaseSet2 validation failed". если ли у кого-то ещё такое?
Vort при этом, в сообщениях один и тот же идентификатор
Vort на протяжении многих часов
Vort разве лизсеты не должны обновляться? короч я почти нифига не понимаю, но при этом подозреваю атаку
Vort перед этим ещё есть сообщения "LeaseSet2: Offline signature failed"
weko значит у кого то просрочился ключ
weko истёк
weko есть же функция временных ключей
weko есил конечно ошибка из-за этого
weko может кто то пытается подменить
Vort weko: сколько вообще по времени лизсеты "живут"? 10 минут?
weko ну да
weko ну до истечения последнего лиаса
Vort ну а тут один и тот же с 2 часов ночи
weko Vort: такк тебе новый присылают
weko тот же дестийнешен
weko destination
Vort NetDb::AddLeaseSet2 (const IdentHash& ident
Vort ident - это что?
weko ну адрес чей лиссет
Vort то есть, он и не должен меняться? тогда ладно
weko а с чего вдруг
Vort я подумал, что это id именно самого лизсета. говорю же, плохо это место понимаю
Vort если id "автора" грубо говоря, тогда пофиг
weko ident это вроде хэш публичых ключей
orignal weko тут ситуация в другом
orignal если приходит более короткий фрейм то он сразу уходит в обработку на другой стороне а не ждем получения всего длинного
weko так мы должны брать просто максимум сколько в очереди есть
weko конечно не нужно ждать
orignal Vort offline signature это отдельная тема
weko тут не число надо менять, а логику
orignal weko ну вот мы брали максимум в очереди
weko так значит всё окей
orignal отсылаем фрейм длиной 64K по узкому каналу
weko ну позже забьётся буфер
orignal в итоге та сторона ждет пока он придет целиком
weko так тогда надо буфер понизить
weko setsockopt
orignal и ничего не делает хотя могла бы
weko когда канал слишком медленный буфер отправки забивается и всё
orignal если он состоит из десятков сообщений то есть смысл ачинать обрабатывать первые
orignal не факт могут просто быть всплески
weko но как раз таки когда канал медленный и идут попытки отправить большой фрейм
orignal короче посмотрим насколько изменит дело
orignal так вот не надо отправлять один большой а несколько поменьше
orignal в этом идея
weko да, надо минимальные слать когда забит буфер отправки
orignal Vort я проверю работу с offline signure не поломалось ли чего
orignal да хорошая мысл смотреть сколько в буфере
weko потому что мы во первых ждём когда буфер освободится, а во вторых принимающая сторона ждём всё сообщение
weko весь фрейм*
orignal ну вот я это и начал делать
weko вообще хороший вопрос, есть ли смысл на фрейм больше 1 i2np собщения толкать
orignal но ты прав что длину надо подстраивать
orignal как минимум 2
weko не
orignal потому что это один пакет стрима
weko я имею ввиду что больше 1 смысла нет
orignal я про это и говорю
orignal что один пакет стрима это как правило 2 i2np
weko а желательно чтобы всегда 1 был и всё
weko всё равно одинаковое количество данных шифруем
orignal ну так устроены стримы
weko orignal: а ну стримы то да
orignal а так да можно по 4K сделать как говорит дед
weko Бывают же больше i2np
weko Надо именно одно сообщение
orignal нет если одно длинное то ясен пень что его целиком
orignal кстати оффлайн подпись вроде у zzz.i2p была
weko Оффлайн подпись удобная штука
weko Что даже если спиздить, то ты ограниченное время ей сможешь пользоваться
orignal знаю
weko Кстати вопрос
orignal че?
weko А мультихоуминг с оффлайн подписями нормально работает?
weko Тупой вопрос
orignal а какая ему разница?
weko Конечно нормально
orignal интересно кто ниубдь кроме деда ее еще использует?))
weko ну у ацетона вроде быда статья, вероятно кто-то использует
weko чтобы была польза от неё, надо сделать горячую замену
weko ну на ходу чтобы менять
orignal ну так а то ж
weko и сделать её на 3 часа предположим
orignal это какое мертворожденое творение
weko а в доверенном месте скрипт который раз в 3 часа грузит на недоверенный хост оффлайн подпись
weko нет, просто доделать надо
orignal доделай ))))
weko ещё крайне плохо что разведено куча клиентских протоколов для роутрера
weko sam, bob, i2cp, i2pcontrol
weko залупа ж полная
orignal да еще и две версии sam 3.3
weko так тут важно что с этим делать
weko сдлать один протокол, который заменит все эти?
orignal не знаю
weko не будет ли он очередным насраным говном в кучу протоколов ))
weko вот в чём моё сомнение/
orignal тут думать надо
weko ну надо выписать весь функционал, который требуется
Vort проблема тут только в поддержке
weko требования по безопасности
weko и оттуда уже думать что должно быть
weko вот у monero есть p2p, daemon rpc и wallet rpc
weko по логике это должно быть отдельно
weko вот оно и отдельно
Vort weko: есть же "правило": работает - не трогай
weko Vort: то, что оно работает тоже сомнительно
Vort ну вот надо смотреть, что возможно починить в пределах протоколов
Vort а что нельзя - таки записывать
weko починить надо их присутсвие
Vort и если много записанного наберётся - тогда только о чём-то новом думать
weko так много чего уже сказано
weko вот например горячая замена оффлайн подписи
weko в какой протокол это надо пихать?
weko в sam? в i2pcontrol?
weko куда вот
orignal i2pcontrol это же просто веб морда через JSON
weko ну там и команды можно
orignal в i2pcontrol естественно
orignal так и в веб морже тоже есть команды
weko ну да
weko вот я думаю всё туда надо
weko и функционал SAMтоже
weko а то реально костыль просто висит
weko доделать чтобы было версионирование по реализациям
weko "supported commands"
orignal <zzz> yes, stats.i2p also. Offline signed: Expires in 64 days
orignal вот ответ деда
orignal Vort можешь сказать какой ident этого лизсета?
weko я вообще считаю, что нужно две ветки логирования
weko одна для пользователя, другая для разработчиков
weko и чтобы в релизы шло без лишних вызовов
weko а в dev сборки с
weko ну и само отеделние тоже нужно
weko ну условно debug, info в основном не нужны
weko пользователю
weko и некоторые warn наверное тоже
weko orignal: вопрос. зачем вообще сделаны http ресиды, если есть флудфилы? почему бы всегда через них не получать? закинуть RI и готово
orignal через флудфилы это только в i2pd есть и псих добавил
orignal ресиды же были всегда
weko тоже старый костыль
weko вот надо чтобы сразу с флудфилов бралось
weko и сразу по ntcp2 и ssu2
Vort orignal: heptannm522mpmjnwzaf27xrlmxa2un4k4hwefocxtln7k2al6gq
orignal heptan.i2p,heptannm522mpmjnwzaf27xrlmxa2un4k4hwefocxtln7k2al6gq
orignal видимо у него и правда протух
un в смысле с флудфилов
un а флудфилы где брать
orignal un указывать первый
weko un: ну вбиты тож
weko такой же прицип только меняет способ скачивания
weko меняется
un я про это. то на то
Vort юзера бы о просрочке уведомлять, а не флудфила. error блин )
orignal надо убрать error и все ))
weko Vort: какой просрочке
Vort weko: оффлайн лизсета. всё ещё не до конца понимаю, как он работает, но сообщения в логе о проблеме нужны владельцу сервиса, а не мне
weko я хз просрочка это или же подпись вообще неверная
orignal я посмотрю сам
orignal if (expiresTimestamp < i2p::util::GetSecondsSinceEpoch ()) return nullptr;
orignal я думаю что вот эта строчка
orignal счас добавлю туда лог
onon Может кто напомнить, из каких источников роутер собирает информацию о новых роутерах?
onon У меня два роутера никак не могут "познакомиться", хотя я одному из них прямо указал построить туннель через другой.
orignal и что происходит?
orignal первый должен запросить второй с ближайщего к нему флудфила
onon Ну он через другие роутеры строит, а через этот - нет
orignal а в netdb он есть?
onon Нет
orignal то есть проблема в том что не может наййти или не может соединиться?
onon Не может найти
onon Уже больше 5 часов
orignal а через второй транзит идет?
onon Да
orignal 2.50.2 или транк?
onon Последний
onon транк
orignal так надо разбираться почему не находит
orignal что происходит с запросами
orignal обратился к первому флудфилу
orignal он ответит или роутером или список более близких флудфилов
orignal дальше будет запрос к следующему
orignal и так 7 штук
onon Ну у других роутеров этот ненайденный роутер в нетдб есть
onon И они с ним работают
orignal ну я не ванга
onon А этот что-то тупит
orignal так вот и разберись по логам что вообще просхит
onon Ладно, буду искать
orignal может он и приходит а потому ты его дропаешь
orignal потому что что то не нравится
orignal тут много причин есть
onon В логах пишет, что не смог найти после 7 попыток
orignal а флудфилов сколько?
onon 1054
orignal тот который ты ищещь сам не флудфил?
onon Нет
onon Может попробовать рестартануть?
orignal попробуй и peerProfiles грохнуть
orignal тут смотри че
orignal надо найти куда публикуется первый
orignal и почему второй с него не берет
orignal может мы обнаружили какую то еще атаку
onon А в пирпрофилях есть
onon Может он пометил его плохим
onon Так в логах писал бы что-нибудь
orignal не факт что пишет об этом
orignal возможно да что плохой
orignal потому и выкинул
Vort узлы то R или U ?
Vort с U как бы всё понятно. то есть задница
onon Который не может найти, тот U, искомый - R
orignal Vort это не дает ответ на вопрос почему не находит
Vort если R не находится, тогда странно
Vort orignal: так я проверял вообще на одном физическом компе - в виртуалке. с поиском U узлов жопа
orignal это что то новое
orignal почему с поиском должна быть жопа?
Vort onon: вручную подсунь RouterInfo в базу и попробуй сделать коннект
orignal жопа с подключением к нему а что с поиском то?
Vort orignal: по-моему, другие узлы выкидывали U узел из базы, так как не могли к нему приконнектиться. ну это давно было. может, сейчас по-другому
Vort может, полгода назад проверял
orignal да такое возможер
onon Ну я пока peerprofiles снес, перезапустил, пока не находит
orignal в принципе правильно
orignal потому что "ну и хуй с нимэ
orignal кстати вопрос правильный
orignal но опять же
Vort onon: надо же ещё учитывать, что RI может найтись, но из-за неудачнго коннекта вылететь из базы
orignal выкинул флудфил его потому что не смог соединиться
orignal он снова опубликовался так с чего он будет выкидываеть если не пытается соединиться
onon Ну ладно бы это раз так не смог соединиться, дропнул. Но пять часов не может найти.
Vort onon: да находиться должно за несколько секунд. 5 часов ждать - это перебор
orignal надо разбираться
orignal вопрос крайне интересный и он подводит нас к тому почему низкий рейт
orignal weko я думаю уменьшить размер очереди до 256 а дропать начинать со 128
onon В логах пока непрерывно пишет, что отправил запрос к флудфилу.
orignal очереди у траспорта
onon Но пока не пишет, что обломался после 7 попыток
orignal и что флудфил не отвечает?
Vort может настройки туннеля были неправильные
orignal он же должен ответы присылать
onon Ну пишет, что не найден такой роутер
orignal не найдет но он же присылает список других флудфилов
orignal похоже тот куда ты публикуешься его выкидывает
onon Это дебаг нужно включать?
Vort onon: через explicitPeers в tunnels.conf пытаешься сделать подключение?
onon Я на инфо
orignal естественно
orignal там много чего надо
onon А счас гляну
onon Vort, да
Vort там же есть какое-то ограничение, плохо помню
Vort U в какой-то из позиций быть не может
onon Там всё R
Vort так свой узел U
onon Что-то я не вижу в логах ничего похожего на ответ флудфила
onon Как он должен выглядеть?
orignal LogPrint (eLogDebug, "NetDb: DatabaseSearchReply for ", key, " num=", num);
orignal вот так
orignal где вместо key твой адрес
orignal который ты ищещь
Vort onon: знаю, что надо сделать. попробуй другой узел какой-то подсунуть в tunnels.conf. который явно рабочий. может, даже чтобы транспорт с ним был
Vort если создастся туннель, значит настройки tunnels.conf в целом верные
onon Так есть другие узлы, и в нетдб они есть, и строит туннели через них
Vort onon: через explicitPeers строит? то есть, точно так же?
onon Да
Vort ок
Vort проверь на всякий случай правильность адреса
Vort опечататься вполне можно
onon Я его не менял
onon Он перестал работать после перезапуска того самого узла
Vort интересно
orignal вот я счас проверил все мои U моментально находит
orignal вот прмяо написал в explicitPeers
orignal тут же нашло
onon А я грепаю лог и такого NetDb: DatabaseSearchReply for там нет...
orignal на уровне debug
orignal а должно быть
onon да
orignal то есть получается тебе флудфил не отвечает
onon Они что ох*ели?
onon Мне не отвечать?
Vort а grep не сжирает ли : ?
Vort мало ли
onon Нет я и глазами смотрел
onon таилом
Vort ну так подсунь в netdb файл говорю же
onon Ок, сейчас попробую
orignal может флудфил какой то дурной
Vort я и такое помню :)
orignal но там по таймуту должен брать следубщий
Vort помнишь я говорил про запросы уходящие в пустоту?
Vort "<onon> В логах пишет, что не смог найти после 7 попыток" - вот мне кажется, что это как раз те самые DatabaseSearchReply должны были быть
onon Я после перезапуска искал
Vort неужели несколько багов? :)
onon Ок, я подсунул руками в нетдб, все заработало сразу
Vort значит, таки беда с поиском
orignal нет 7 попыток значит по таймауту
onon В сети не хватает флудфилов?
onon Или много "плохих"
Vort да это баги какие-то
Vort ловить надо. как-то
orignal надо разбираться
orignal почему нет ответов
Vort мне кажется, что может быть какая-то особенность работы U узла
Vort может, коннекты зависают из-за протухания дырки или что-то около того
onon Он соединяется только с R роутерами
orignal а почему флуфилы ему не отвечают?
onon Ох*ели
onon МОжет перегружены?
orignal не должны
Vort 5 часов подряд?
Vort говорю же - ответ должен за несколько секунд приходить
orignal таймаут там 5 секунд
Vort это давно так?
orignal всегда так было
Vort у меня когда залипания были, то явно подольше длились
Vort то есть, у меня было так: в лог пишется, что отправлен запрос
Vort потом опять отправлен запрос
Vort и так далее
Vort а в ответ нифига
Vort то есть, таймаут на запросе, похоже, а не на флудфиле
Vort а толку, если флудфила переклинило. он все запросы проигнорит, хоть сотню
orignal так после таймауту должен пробовать следующий
orignal вот это надо разобраться что запрос потом снова запрос и нет ответов
Vort я хз как это ловить. у меня это получилось случайно и я тогда вообще другие проблемы гонял
Vort и было это давно
orignal такого быть не должно
Vort может просто поставить сбор логов и попробовать чисто по логам понять, была ли такая ситуация
Vort потому попасть на неё специально будет непросто
Vort потому что*
onon Вот я сейчас лог грепаю, он запрашивает разные узлы, ответы приходят
onon Какие-то удачно, какие-то нет. Т.е. все норм
orignal значит надо копать в сторону публикации
onon Ну тот "искомый" роутер явно известен, через него транзита идет много
orignal через него транзит может идти потому что есть утсановаленные им соединения
orignal не факт что он есть где либо на флудфилах
onon Ну он растет же потихоньку.
onon После старта
Vort так соединения висят, никуда не уходят. а новые появляются
onon Как посмотреть на том "искомом" роутере, что он успешно опубликовался на флудфиле?
onon Что в логе должно быть?
Vort не мог ли рестарт узла пойти как-то не так? может процесс полудохлый старый висит?
onon Нет, перезагружал серв
Vort хоть бы это не была бага в том хитром алгоритме для определения места публикации
Vort тогда это будет значить, что в полночь проблема исчезнет
onon Превратится в тыкву?
orignal LogPrint (eLogInfo, "Router: Publishing confirmed. reply token=", m_PublishReplyToken);
Vort типа того )
orignal вот такое должен видеть в доге
orignal в полночь UTC по другому будут ближайшие
onon Не грепается такое
orignal в этом и причина
Vort может, RI какой-то повреждённый получился?
onon А точно правильно, я на другом "нормальном" тоже такого найти не могу
Vort хотя тогда подсунутый бы не заработал
Vort так уровень info же нужен
onon На дебаге не нахожу
orignal я проверб позже
onon А как часто он публикуется, а то я лог только включил
Vort где-то раз в чат похоже
Vort час*
onon Ну тогда может, и работает, просто не попал пока.
Vort const int ROUTER_INFO_PUBLISH_INTERVAL = 39*60; // in seconds
onon 40 минут
orignal первый раз при старте
orignal потом если ничего не поменялось 40 минут
onon Если через 40 минут такого не найду, отпишусь
orignal я проверю у себя чуть позже
onon Есть публикация, и подтверждение.
onon На всех остальных тоже.
orignal и так и не находит?
onon Так я же его руками в нетдб подсунул, все заработало
onon Как Vort посоветовал
onon Если будет нужно, могу попробовать воспроизвести проблему.
orignal не ну надо же разобраться почему так
onon Ну давай, я попробую другой роуер из пула удалить из нетдб, и стартануть, посмотрим найдёт, нет.
orignal так надо ж понять причину
orignal а это непросто
onon Может это разовый глюк был, сейчас все заработает.
orignal ну даже если разовый то какая причина?