~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest29753
Most2
Nausicaa
Ruskoye_911
`
acetone_
anon
b3t4f4c3
guest
nemiga
not_bob_afk
plap
poriori
profetikla
segfault
soos
spider
teeth
tensor
un
weko_
whothefuckami
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
да
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
ну даже если разовый то какая причина?