Debugging Torrent调试工具

Debugging Torrent调试工具,debugging,bittorrent,torrent,Debugging,Bittorrent,Torrent,有什么工具可以调试bittorrent吗? e、 我想查询追踪者以获得同行列表。 我想检查我是否能够连接到某个对等点 我在我的家庭网络中有奇怪的行为。 我想了解它是如何工作的,但我找不到任何工具来模拟torrent PS我已经制作了一个简单的python应用程序来检查我是否可以接收UDP数据包 import socket port = 50000 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind(("", port)) pri

有什么工具可以调试bittorrent吗? e、 我想查询追踪者以获得同行列表。 我想检查我是否能够连接到某个对等点

我在我的家庭网络中有奇怪的行为。 我想了解它是如何工作的,但我找不到任何工具来模拟torrent

PS我已经制作了一个简单的python应用程序来检查我是否可以接收UDP数据包

import socket
port = 50000
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", port))
print "waiting on port:", port
while 1:
    data, addr = s.recvfrom(1024)
    print data
我可以发送
ncat$IP$PORT-u-v

但现在,当我知道我可以发送数据包到某个端口,它就被打开了。 我想检查一下我是否可以在该端口上与torrent应用程序通话

一个torrent客户端工作,另一个我不想知道哪里出了问题

没有“Bittorrent调试器”,但您可以使用各种工具诊断问题

您可以在本地使用nmap或提供远程nmap实例前端的web服务来探测端口的可访问性

您可以将wireshark与bittorrent解析器结合使用来调试协议本身,这需要对bittorrent协议有一定的了解

一些客户端(例如vuze)提供非常详细的日志记录,甚至可以记录到单个bittorrent消息,这有助于诊断问题


您可以在另一个端口或虚拟机上运行第二个客户端,并让它们通过本地网络相互通信,以排除潜在的路由器/防火墙问题。

我在自己的代码中调试协议问题的方法是,我设置了各种VM/容器,其中1运行一个跟踪器(opentracker)其他人运行各种客户端,我的主机运行我自己的客户端,我定期测试。然后我有选择地启动和停止客户端,让它们与我的客户端和跟踪器对话,然后我就可以轻松地用wireshark分析所有片段之间通过的所有bittorrent流量。您可以轻松地扩展相同的设置,以在真实网络中包括多台计算机,而不是虚拟机/容器和虚拟网络

要“使”客户机彼此对话,只需与其中一个客户机创建一个torrent(大多数客户机可以从您拥有的文件中创建torrent),然后将您自己的跟踪器添加到torrent。然后将torrent文件添加到您的其他客户端,它们就会开始相互交谈并立即分发数据

最后,您将看到以下内容:

                    +-----------+
Debug client <----> |           | <----> opentracker <--------> another client
     ^              | Wireshark |                                     ^
     |              |           |                                     |
     +------------> |           | <-----------------------------------+
                    +-----------+
+-----------+
调试客户端| | opentracker其他客户端
^|钢丝鲨|^
|              |           |                                     |

+------------>| |我发现最简单的方法是停用客户端中的加密,然后使用来查看发生了什么。在最后一点上,是否有一种方法可以将bittorrent客户端直接指向另一个对等方(我要调试的对等方),而无需通过跟踪器?取决于客户端,有些客户端具有显式的“按ip添加对等方:端口”功能。