~AreEnn
~R4SAS
~acetone
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
weko
Почему SSU2Session а не на сервер?
orignal
потому что считает каждая сессия отдельно
orignal
ну или сделай общий в SSU2Server
weko
Так а если сессия закончится
weko
Там же на час вроде
weko
И ещё надо когда удаляется вычитать
weko
Сделаю позже сейчас другое дело
orignal
чего вычитать?
orignal
речь идет о том сколько раз тебя использовали в качестве инродьюсера
weko
А я думаю считать сколько сейчас именно
orignal
так чего сейчас я не понял?
weko
Для скольких роутеров мы сейчас интродьюсеры
orignal
а как ты это узнаешь?
orignal
только когда запросят
orignal
а так если входяшие с iTag значит может быть интродьюсером
weko
А понял
weko
Тоесть пиру её говорится что он интродьюсер
weko
Не*
weko
Запросы хз надо ли именно в морду
weko
В статистике будет полезно
orignal
у пира только запрашивается согласие
weko
А ну выходит что говорится
orignal
так не факт что он станет тебя публиковать как интредьюсера
weko
Тоесть могут просто запросить и всё?
weko
А зачем
weko
Если не использовать
orignal
чтобы иметь резерв
Vort
поставил себе чистую версию 2.48.0-15-g17c4038c. рейт 28%. мало. надо разбираться, почему
Vort
с моей only_r2 веткой было 55%. 28% это примерно то же, что было вообще до исправлений, связанных с U узлами
orignal
у меня вот везде резкое улучшение
Vort
запущу опять с логгером, может ситуация прояснится
Vort
вылез U узел без IP адреса даже на 1 хопе
Vort
попробую поотлаживать значит
Vort
orignal: при отсутствии IPv4 адреса в RI, RouterInfo::IsV4 должен false вернуть что ли?
Vort
или это IsPublished такую проверку делает?
Vort
хотя вроде начинаю понимать. IPv4 адрес на конце нужен только если этот конец на входящем туннеле?
Vort
то есть, для исходящего туннеля U на конце - это нормально и так и должно быть?
Vort
хорошо, что я логирование направления добавил. вот такое выловилось: [2023.07.14 02:13:19]: O T UU~bD5ViVubsW9zcdHlzWkBD~GVAK7afvW3fdhlBYyI=
Vort
UU~b - это XU без записи host (то есть, без адреса)
Vort
на всякий случай выкладываю коммит чисто с логгером. с добавленной индикацией направления (I или O): github.com/Vort/i2pd/commit/3846a16a75e0f1406fed4ca2897bdb4af3cd1c04
Vort
перезапустил узел с тем же коммитом 17c4038c, но с логированием - рейт с 28% поднялся до 49%. нездорово это
Vort
но в любом случае надо разбираться с транспортными коннектами вначале. причину прыганья рейта можно потом половить
Vort
сделал сбор статистики по исходящим SSU2 соединениям
Vort
S: 1567 (45%) | T: 1798 (51%) | TI: 115 (3%)
Vort
успех | таймаут обычный | таймаут интродьюсера
Vort
не так уж много проблем из-за самих по себе интродьюсеров. тем более, i2pd ломится к интродьюсерам даже тогда, когда узел доступен (R)
Vort
странное явление какое-то - очень сложно словить RI для таймаутов U узлов. это из-за того, что коннекты инициированы другими узлами (то есть, мой узел промежуточный хоп)?
Vort
(я вначале собираю лог, а потом сопоставляю с данными netdb)
Vort
получается, таймаутов много, но к каким узлам (R или U) они относятся в большинстве случаев понять не выходит
Vort
наверно надо просто дольше собирать данные и со временем кеш с RI наполнится как надо
Vort
ох и упёрто же i2pd бывает долбится к узлам с таймаутом
Vort
к одному из узлов он попытался подключиться 169 раз за 3 часа
Vort
i8wLZ-4JNWml4H4H55Q50xvXDCpSQNpBn2uM2~Bk6k4=
Vort
в пирпрофиле нули. разве что connected=true есть
Vort
получается, это запросы коннектов из-за транзита?
Vort
выкладываю статистику по SSU2 коннектам
Vort
рейт узла 51%. коммит последний + моё логирование: github.com/Vort/i2pd/commit/80da9c4f6665bcf5b0b9b5d12cc9817ceb03e4af
Vort
аптайм 4.5 часа
Vort
RI found: 13816 / 14349 (96.3%)
Vort
A | E: 10679 (34%) / T: 19613 (62%) / TI: 1185 ( 4%)
Vort
R | E: 8399 (38%) / T: 13339 (60%) / TI: 363 ( 2%)
Vort
U | E: 2148 (63%) / T: 641 (19%) / TI: 614 (18%)
Vort
? | E: 132 ( 2%) / T: 5633 (94%) / TI: 208 ( 3%)
Vort
? | (1.2%) (28.7%) (17.6%)
Vort
расшифровка символов: первый столбец: A - коннекты ко всем узлам (хоть нашёлся RI, хоть нет). R - коннекты к R узлам. U - коннекты к U узлам. ? - коннекты неизвестно, то ли к U, то ли к R (не нашлось RI)
Vort
E - успешно установлено соединение, T - таймаут обычный, TI - таймаут интродьюсера
Vort
промежуточные выводы:
Vort
таймауты интродьюсера всё же вносят значительный вклад в проблемы соединения с U узлами
Vort
успешность соединения с U узлами даже выше, чем соединения с R узлами
Vort
однако точность этих результатов под вопросом из-за 5633 неопознанных таймаутов
Vort
хотя, скорее всего, это таймауты к R узлам (так как туда идёт долбёжка как я понимаю)
Vort
так что пока что предполагаю, что таймауты туннелей через U узлы связаны не с таймаутами SSU2 соединений, а с чем-то другим
weko
Из в принципе дохера
weko
Что говорит об очень плохом профилировании
Vort
кого дохера?
weko
Таймаутов
Vort
тут же ещё из-за транзитов коннекты как я понимаю
weko
Ну да
weko
Я об этом же
Vort
то есть, профилирование может быть и в java не очень
weko
А тут хз
Vort
я не следил за причиной установки коннекта
weko
Корреляцию наверное можно попробовать сделать, но не думаю что хорошая идея
weko
Слишком много факторов
Vort
да, сложно локализовать
Vort
тут хоть бы что-то выловить достаточно надёжно...
weko
Ну я говорил что нужно
weko
Сделай корреляцию по реализации и версии протокола построение туннелей чистое (без профилирования)
weko
И с как можно большим кол-вом узлов на выбор
weko
Все что вообще возможно
weko
Таким образом, возможно, выловим какую то проблему
weko
Которая есть с какой то версии
weko
Или же убедимся что её нет
Vort
подозреваю, что профилирование сильно интегрировано в работу i2pd
Vort
по поводу массовой долбёжки несмотря на таймауты - похоже, основная цель - флудфилы
Vort
и что примечательно - для некоторых флудфилов это имеет смысл
Vort
проследил за одним из флудфилов. успешный коннект - в 20% случаев (примерно)
Vort
флаги NfR. похоже, следствие перегрузки
orignal
Vort IsPublished
orignal
IsV4 возвращает если там есть v4 в принципе
Vort
<Vort> то есть, для исходящего туннеля U на конце - это нормально и так и должно быть?
orignal
нет
Vort
ну так в коде только для входящего проверка IsPublished
orignal
но там может у него IP есть
orignal
а ну да конечно
orignal
для исхоящего можно главное чтоб ipv4
orignal
он же все равно будет только исходящие соендинения утсанавливать
Vort
окей, понятно
Vort
кто-нибудь рискнёт мне помочь и проверить два адреса - они онлайн или нет?
Vort
я проверил со своего компа и по онлайн сервисам. результат - не пингуется
Vort
но, может, у кого-то пройдёт коннект
Vort
2.60.56.79 (i8wLZ-4JNWml4H4H55Q50xvXDCpSQNpBn2uM2~Bk6k4=)
Vort
46.229.106.222 (TRQZ3nINxFbRY9T~HgiTLq-pFXLmR-PLc4fV2MCTuJA=)
orignal
а порт какой?
Vort
да можно просто пингануть. но сейчас скажу
Vort
46.229.106.222:23573
Vort
2.60.56.79:27056
orignal
пинги не пашут порты отвечают
Vort
окей, спасибо
Vort
мне показалось странным, что сеть упорно делает запросы на коннекты к этим адресам
Vort
вот график запросов по времени
Vort
у меня они недоступны. наверно мой провайдер глючит
orignal
даже и телнетом по порту?
Most2
06.<trusishka> хелло китти
Most2
06.<trusishka> ой не та конфа
Vort
да, и телнетом. но так как я ищу глюки в i2p, то локальный глюк мне сейчас не очень важен. разве что надо помнить о нём и исключать как-то из анализа
Vort
попробую сейчас разобраться, сколько в сети узлов, которые вообще не отвечают, сколько всегда отвечающих и сколько перегруженных
Vort
но для начала сделал ТОП по количеству записей в моём логе
Vort
i8wL на 12 месте. TRQZ на 20м месте
Vort
в кучке других недоступных (видимо) узлов. но то ладно
Vort
что меня заинтересовало больше, так это позиции #1 и #2
Vort
решил глянуть у себя вкладку транспортов и, мягко говоря, удивился
Vort
DtQs нашёлся 56 раз, F~Uz нашёлся 41 раз
Vort
orignal: это атака или очередная редкоиспользуемая фича i2p ?
Vort
или, может, вообще баг
Vort
может кто-нибудь глянуть - у него тоже будет уйма этих id?
Vort
F~UzS1mTN3XYlnOfidMBv5Z4lHI7dsCZ8N5mxpyc-OU=
Vort
DtQsGzkbeR3nilr6ZvywR2O7-f0XaaV~YfHXohqwjgI=
orignal
я думаю что баг
relaybot
13apophis: ...
Vort
orignal: у твоих узлов среди SSU2 есть размножение именно этих id ?
orignal
посмотрю
Vort
просто поиском браузера можно глянуть
orignal
но они же должны быстро сдыхать
orignal
мне счас некогда
Vort
да запросы целый день нон-стоп прут. какое там сдыхать
Vort
агаа. они все входящие
Vort
ещё загадочнее
Vort
всё больше подозреваю атаку
Vort
шанс что атакующий (если это атака) читает чат невелик, но всё же было бы хорошо если бы кто-нибудь проверил в ближайшее время свой узел
orignal
SSU2 или NTCP2?
Vort
SSU2
Vort
я NTCP2 сегодня не смотрел
orignal
ладно починим
Vort
атакующего? :))
Vort
вариант #1 баг #2 атака #3 я мог поломать что-то логированием
Vort
вырубалось электричество у меня. а так как сбор данных прервался, то переставил узел на версию с последнего коммита
Vort
ну и опять насрано DtQs и F~Uz. так что это не в бинарнике дело
orignal
да это просто чинить надо
orignal
значит там connid разный
Vort
то есть, считаешь, что эти транспортные коннекты от реальных юзеров, но почему-то показывается неправильный identhash ?
Vort
там же кстати и IP разные
orignal
вот теперь все ясно
orignal
это ебучий впн
orignal
такого надо банить
orignal
который все время меняют IP
orignal
дрозд давно про них говорил
orignal
что меняют IP каждую минуту
orignal
такие впн есть
Vort
сейчас посмотрю по базам
Vort
что за провайдер
orignal
дрозд таких банит
orignal
и нам надо
Vort
страны разные, провайдеры разные. что-то этот ВПН больше на ботнет похож
Vort
ну или эксплоит какой-то и эти IP поддельные. ну если такое возможно, я не очень хорошо SSU2 понимаю
Vort
ничего по адресам не нагугливается. подозреваю, что может быть подделка по типу фейковых RI
orignal
думаешь спуфинг UDP пакетов?
orignal
тогда как они SessionCreated получают?
Vort
ну я думал может раскопировали на сотню компов один и тот же RI. хотя можно попробовать проверить, идут ли данные одновременно
Vort
если идут - ботнет. не идут - ВПН (ботнетоподобный)
Vort
а вот про SSU2 говорю же - плохо его понимаю
Vort
один раз заметил этот id и через NTCP2
orignal
смотри
orignal
раз мы знаем что это за ротуер
Vort
точнее, один F~Uz и один DtQs. при том, что в SSU2 их 19 и 40
orignal
значит мы получили SessionConfirmed
orignal
но они должны получить от нас SessionCreated
orignal
потому что там половинку ключа будет
Vort
это значит, что адрес "живой"?
Vort
точнее, адреса
orignal
да
orignal
в момент соединеняи они настоящие
Vort
такс. похоже, данные ползут одновременно
Vort
не 100% уверен, но очень похоже
orignal
понятно
Vort
открыл в двух вкладках браузера транспорты
Vort
и сравниваю
orignal
то есть какая то обезьяна склоировала докер
orignal
или типа того
Vort
вероятно
Vort
только вот адреса эти не хостинг провайдеров
Vort
и по всему миру
relaybot
13apophis: "а я говорил/писал про такое..." ( ТМ ) .. (ясно что не я)
orignal
ну есть такие впн которые дают по всему миру
Vort
тут скорее всего параллельные потоки данных, так что на впн мало похоже
Vort
я вот подумал - первым хопом L узлы ведь только недавно перестали выбираться?
Vort
может большим количеством транспортов атакующий мог повысить шанс, что он будет первым хопом?
Vort
не знаю, правда, чем бы это ему помогло
orignal
я думаю последние лет 8 точно
orignal
для клиентских тоннелей L не выбиралисб
Vort
даже первым хопом?
Vort
просто помню какой-то фикс был несколько месяцев назад
Vort
на эту тему
orignal
даже из соединенных
orignal
а ну возможно
Vort
2.46.0: Select first hop from high bandwidth peers for client tunnels
orignal
а ну возможно
orignal
но какой смысл в такой тупой атаке?
Vort
вот не знаю
orignal
какие проблемы генерить уникальный адрес
Vort
вообще не пойму зачем эти странные клоны сделаны
Vort
может чтобы на графиках RI не заметно было?
Vort
может они так транзит через себя пытались минимизировать
Vort
ну или контроллировать
Vort
чтобы сами по себе другие узлы не лезли
Vort
а только когда сам атакующий хренову тучу коннектов сделает
orignal
я думаю что просто одна обезьяна сделала готовый образ в докере
orignal
и раздала его другим
orignal
мораль такова
Vort
надо посмотреть, здоровые ли паттерны реконнектов у SSU2
orignal
надо при подкючаении нового выкидывать старые
Vort
не модифицирован ли клиент то есть
orignal
помню кстати тут кто то спрашивал про "мультихоминг роутера"
Vort
вот я тоже об этом вспоминл когда про экзотическую фичу спрашивал
Vort
может есть какой-то нужный сценарий использования фичи?
Vort
уж явно не с сотней адресов правда. хотя кто знает
Vort
загадочно слишком это всё
Vort
версия у них кстати не старая - 0.9.58
Vort
или обновляют или запустили просто недавно
orignal
короче надо с этим что то делать
Vort
ещё одна странность, которая мне не понятна: эти два RI самые старые у меня в папке netdb
Vort
то есть, они очень редко обновляются
Vort
один файл в 6 утра создан, второй в 7 утра, а следующий (по времени создания) - 3 часа дня
Vort
из 9500 файлов
Vort
"<~orignal> короче надо с этим что то делать" - ну можно изучить получше вначале. можно и без изучения ограничить количество IP на один ключ
Vort
можно ещё подумать, не сломает ли такое ограничение какой-то реальный сценарий использования
orignal
да нет если адрес ломится с разных IP однозначно банить
Vort
ну и если это атака, то атакующий может просто перегенерить ключи и тогда уже фиг поймешь, что эти узлы от одного автора
orignal
тут уж ничего не поделать
Vort
то есть, не изучив что он делает сейчас, можно потерять возможность изучить позже
Vort
хотя не уверен, что это важно
orignal
я вот почти уверен что это не атака а чей то тупняк
Vort
есть объяснение почему RI редко обновляется? или это маловажно?
orignal
надо таймстапм внутри смотреть
Vort
оно, конечно, можно. но дата файла не меняется, значит таймстамп явно не новее файла
Vort
сейчас прогоню через джаву и скину
Vort
лол
Vort
Published: Tue Feb 13 06:10:23 EET 2035
Vort
чей-то косяк? :))
orignal
ага будущее
orignal
потому так и просиходит
orignal
надо просто дропать и все такие
Vort
ну только как всегда подумать о том, что и у обычного юзера i2pd бывают проблемы с датой
Vort
чтобы поставить такую дату, это надо постараться. обычно в ОС встроена синхронизация времени
Vort
то есть, конечно, это всё же может быть следствием ошибки. но есть и признаки намеренности
Vort
кстати, дата - это гарантированный признак связи двух ключей
Vort
и ещё одно - у них есть интересное различие - в паддинге
Vort
то ли один ключ в реальности старее другого, то ли зачем-то так сделано специально
Vort
и нагрузка между этими ключами распределена более-менее равномерно
Vort
если бы один ключ был от старой версии софта, второй - от новой, то их, наверно, перекосило бы по нагрузке
Vort
хотя не обязательно конечно
orignal
ну это не важно
orignal
важно что мы можем таких клоунов отсекать легко