时间戳转换器

Torrent 握手响应大于 68 字节

日期:2023-02-23     浏览:227    
【中文标题】Torrent 握手响应大于 68 字节【英文标题】:Torrent handshake response is larger than 68 bytes 【发布时间】:2018-10-29 17:28:59 【问题描述】:

我正在尝试使用 bit torrent 协议创建自己的 Torrent 客户端。我目前处于可以从跟踪器获取对等列表并获取对等的 IP 和端口的阶段。

问题在我向对等方发送握手消息后开始。我按照说明发送了一个 68 字节的握手消息,其中包含哈希、客户端 ID 等。

我从对等方收到 370 字节的响应,而不是预期的 68 字节握手。当我解析响应的前 68 个字节时,它类似于握手响应。它具有相同的哈希值、客户端 ID 等。但是我不知道剩余的 302 个字节是什么。这正常吗?

是否有任何文件可以清楚地解释这一点?我找不到任何信息来帮助解决这种情况。比特洪流协议规范至少可以说是模糊的。

这是我收到的转换为字符串的响应

\u0013BitTorrent protocol\0\0\0\0\0\u0010\0\u00051O???6H*\u00118$??U\r*?:?d-UT354S-X?\u001b\u0001???rwQ\t?\0\0\0R\u0005?????????????????????????????????????\u07ff??????????????????????????????????????????\0\0\0\u0005\u0004\0\0\u0002\"\0\0\0\u0005\u0004\0\0\0T\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\05\0\0\0\u0005\u0004\0\0\0\t\0\0\0\u0005\u0004\0\0\u0001Z\0\0\0\u0005\u0004\0\0\u00025\0\0\0\u0005\u0004\0\0\u0001*\0\0\0\u0005\u0004\0\0\0y\0\0\0\u0005\u0004\0\0\u0001I\0\0\0\u0005\u0004\0\0\u0002G\0\0\0\u0005\u0004\0\0\u0001?\0\0\0\u0005\u0004\0\0\0\u0001\0\0\0\u0005\u0004\0\0\u0002\f\0\0\0\u0005\u0004\0\0\u0001?\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\u00011\0\0\0\u0005\u0004\0\0\u0001W\0\0\0\u0005\u0004\0\0\0\u0016\0\0\0\u0005\u0004\0\0\0?\0\0\0\u0005\u0004\0\0\u0001?

前 68 个字节是我所期望的,其余 302 个字节我不知道

【问题讨论】:

【参考方案1】:

我现在已经意识到这些额外的字节是什么。

它们是一个位域,并且有多个消息!我的问题是没有意识到握手后可以立即发送此信息

【讨论】:

相关文章

使用 urllib2 下载 torrent 文件

{】使用urllib2下载torrent文件【英文标题】:Downloadingtorrentfileusingurllib2【发布时间】:2016-06-2211:59:38【问题描述】:我正在尝试,但它给出了错误:Traceback(mostrecentcalllast):File"download_torrent.py",line11,in<module>torr_file=urllib2.urlopen(url...}

为啥 torrent 不能通过 HTTP 下载某些文件?

{】为啥torrent不能通过HTTP下载某些文件?【英文标题】:Whytorrentcan\'tdownloadsomefilesviaHTTP?为什么torrent不能通过HTTP下载某些文件?【发布时间】:2017-12-0618:35:33【问题描述】:有一个种子文件,其中配置了网络种子。大多数文件都...}

为啥 utorrents Magnet to Torrent 文件的获取比我的 python 脚本快?

{】为啥utorrentsMagnettoTorrent文件的获取比我的python脚本快?【英文标题】:WhyisutorrentsMagnettoTorrentfilefetchingisfasterthanmypythonscript?为什么utorrentsMagnettoTorrent文件的获取比我的python脚本快?【发布时间】:2015-09-2405:30:08【问题描述】:...}

Torrent Tracker 响应似乎格式不正确

{】TorrentTracker响应似乎格式不正确【英文标题】:TorrentTrackerresponseseemsnotwellformated【发布时间】:2016-10-1408:13:20【问题描述】:今天我试图理解(也许是为了实现)Bittorrent协议。我已经非常了解如何“解密”.torrent文件的内容,...}

解码 Torrent 跟踪器抓取的 Torrent Hash?

{】解码Torrent跟踪器抓取的TorrentHash?【英文标题】:DecodeTorrentHashofTorrenttrackerscrape?【发布时间】:2014-05-2609:27:32【问题描述】:我正在使用BEncodedPHPLibrary解码来自Bittorrent跟踪器的编码响应。Tracker的响应是:d5:filesd20:¼€™rÄ2Þ...}

使用 monotorrent c# 创建 torrent

{】使用monotorrentc#创建torrent【英文标题】:Creationoftorrentusingmonotorrentc#【发布时间】:2013-10-1615:30:46【问题描述】:我正在尝试使用monotorrent为桌面中的文件创建一个torrent,我尝试过如下代码我能够获取字节码,但无法将其保存...}

Torrent Tracker 信息哈希 GET 请求 - Python

{】TorrentTracker信息哈希GET请求-Python【英文标题】:TorrentTrackerinfohashGETRequest-Python【发布时间】:2012-11-2801:46:38【问题描述】:我正在尝试连接到一个torrent跟踪器以接收一个可以与之一起玩比特torrent的对等方列表,但是我在形成...}

网络协议tcp三次握手,四次挥手

{【网络协议】TCP三次握手,四次挥手1:三次握手可以先看看tcp的协议的图序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后...}

MozWebSocket 不响应握手

{】MozWebSocket不响应握手【英文标题】:MozWebSocketnotrespondingtohandshake【发布时间】:2012-02-0415:49:12【问题描述】:Firefox10不会接受(我真的不知道?)我的握手。Offcorse这是Mozilla然后使用MozWebSocket而不是WebSocket。我的服务器响应头...}

如何使用 python-libtorrent 为目录或文件播种?

{】如何使用python-libtorrent为目录或文件播种?【英文标题】:HowdoIseedadirectoryorfileusingpython-libtorrent?【发布时间】:2013-05-0423:18:07【问题描述】:在寻找答案几个小时后,我没有运气。谁能给我举个例子,说明如何在python中创建一...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号