TCP标头如何在跟踪器系统中通过公共IP宣布LAN IP?


-1

**我在VPS服务器上托管了一个xbtit跟踪器,我已经上传了一个文件,而我可能在LAN上的朋友已经下载了该文件,但是当他下载文件时,却没有获得应有的LAN速度。 Peer取代了他的LAN IP,他的Public IP被破坏了,因此他下载速度很慢。

TCP标头如何在跟踪器系统中通过公共IP宣布LAN IP?有任何小的php代码吗?

当我以前在LAN上托管服务器时,没有任何问题。将要使用此跟踪器的所有用户都是我的ISP LAN用户。因此,我需要某种方式,以便在对等列表中通过公共IP检测到他们的LAN IP

有人请帮助我


不确定您的应用程序是什么,但是从理论上讲,私有ip可以作为数据包括在内,因此您看到IP(不在此处)更深入/更进一步,您会看到TCP。更深入/更深入,您会看到应用层协议更进一步,您会看到它的数据,任何东西都可以在那里。您女友的身高,体重,如果有房间,则可能是照片,如果有房间,则可能是地址,如果需要,您的计算机的专用IP。但可能是位Torrent协议将不得不被滥用有点莫名其妙走私那个英寸
barlop

Answers:


0

不幸的是,您想要的内容并不是很实际(我可以理解为什么有人给了它-1,尽管它不是我)。

我会尽力为您解开-

当(家用)计算机位于LAN上时,它们通常共享“无效”的地址范围,然后路由器将其重写为有效的IP地址(称为NAT的过程),对于您的LAN来说似乎是这种情况。

Web服务器使用TCP(通常在端口80上)。大多数Web服务器将能够基于以下两个因素提供有关与其连接的计算机的信息-它接收到的数据-哪个意图来自路由器而不是计算机-以及Web客户端给出的标头。这些因素均不包括已对NAT地址进行了NAT转换的客户端的LAN地址-确实这样做是一个安全漏洞,(大部分情况下)没有任何价值。这是您遇到的基本问题。

因此,问题下一部分的答案是“不,您不能编写PHP来宣布本地IP,因为它永远不会收到本地IP”。同样,这样做会违背Bittorrent的精神-抱歉,但是使用BT EXTERNALLY本地共享使用文件超出了其设计参数-可以使用文件共享解决此类问题。

如果要解决此问题,则需要将Tracker移至LAN或通过VPN将外部VPS连接至LAN,以“击败”位置之间的NAT。就是说,如果您要问这些问题,在着手建立适合您的VLAN之前,您可能需要学习很多东西。


您输入“无效的地址范围” OUCH。您是指地址的私有范围,如RFC 1918中所列
。– barlop

请注意,某些客户端将尝试在同一LAN上搜索其他客户端,并以这种方式进行LAN共享,但这是每个客户端功能,而不是bittorrent协议本身的功能。
Scott Chamberlain 2013年

@barlop-是的,您是对的,我知道RFC1918(包括大多数人不认识的172.16 / 12范围!)。我故意使答案简单,因此为什么无效这个词用引号引起来。
davidgo

0

确实,您的问题没有任何实际的解决方案。

但是,我只能想到解决问题的另一种方法。

您可以在本地网络上设置bittorrent跟踪器,并告诉主跟踪器(位于www上)在下载torrent时自动添加本地torrent跟踪器的公告网址。

这是可能与xbtit您使用的脚本使用称为BEncode和的洪流编码和解码方法BDecode。您可以在BEncoding过程中添加或删除跟踪器网址。

您可以开发一些php代码来检查下载程序的请求网址(如果它在您的IP范围内)。如果匹配,则可以在数组中添加本地跟踪器的公告网址"announce-list"。配置您的本地洪流跟踪器,以将任何洪流跟踪到任何用户。请参阅XBTT文档

现在,您局域网中的本地网络用户可以下载torrent,并在本地网络中得到公告,彼此连接并下载。


0

在您的跟踪器设置上

勾选允许外部洪流

取消勾选禁用DHT

取消勾选私人刮S

取消勾选私人公告

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.