2015-09-20 10 views
1

Мой торрент-клиент DHT-реализация часто получает сообщения KRPC-dict с 4 дополнительными байтами перед словарем сообщений. Ниже приведен пример:KRPC запрос сообщение dict таинственный префикс

d1\xba\x04 

После этого, является bencoded ДИКТ, d, содержимое, а затем e, в соответствии со спецификацией.

Похоже, что словарь, следующий за 4 байтами, всегда содержит yq, поэтому они, по-видимому, являются запросами.

+0

Как часто, по сравнению с другими пакетами? – the8472

+0

@ the8472: Я не мог дать точный номер. Возможно, один из 100000 пакетов получил или около того. Но когда это происходит, они приходят в партию. Может быть, поврежденный удаленный peer? –

ответ

0

Возможно, один из 100000 полученных пакетов или около того.

Я бы не стал так часто называть.

Но когда это произойдет, они прибывают в партии

Вы можете посмотреть на IP-адреса, откуда они родом, на основании моих собственных данных в партии которые вы видите, вероятно, из того же узла повторить попытку с тем же самым дерьмом, которое уже провалилось в первый раз, поэтому вы можете рассматривать пакет как один экземпляр.

В любом случае, вы также можете взглянуть на мой ответ на вопрос related question. Суть в том, что нет ничего, что гарантировало бы, что все будут хорошо себя вести и безошибочны.

Учитывая, что то, что вы видите, не совместимо с bencoding, нет оснований предполагать, что сообщение - это всего лишь мусор.