最近在捣鼓 Kademlia 网络,说拿 nodejs 试一试,就查了一个随机 hash ,没想到返回了上百个 peer :
> var dht = require('bittorrent-dht')();
> dht.on('peer', (peer) => console.log(peer));
> dht.lookup( crypto.randomBytes(20) );
{ host: '125.50.181.227', port: 40154 }
{ host: '191.55.248.103', port: 57056 }
{ host: '2.53.58.245', port: 16868 }
...省略100+项...
{ host: '252.32.52.215', port: 7112 }
{ host: '62.37.119.85', port: 24012 }
感觉不对,用 scapy 一抓包,发现 ttl 全是 56 、 57 左右:
>>> sniff(filter="udp dst port 51846", prn=lambda x: x.ttl)
56
57
56
...省略10+项...
57
57
而这些 udp 包的原地址都在国外, ping 一下, ttl 至少 49 、 48 起,怀疑是小区宽带动手脚,截获 getpeers 包,随便回复一些 peer ,干扰 BT 下载。如果真是这样,忒黑了。
楼主用的是歌华宽带,但第 7 跳已经到电信的路由器了,说不清是谁的锅。
不知道其他小运营商有没有类似问题。求证实。
1
xbb7766 2016-04-03 16:20:50 +08:00
二级运营商不是常干这个么。我 n 年前用有线通时候 bt 和 ed2k 全封了。
bt 有内网 cache 服务器,要是有 cache 到速度飞快,没有的话,嘿嘿个位数 KB/s 。 ed2k 根本连不上服务器。 |
2
t895 2016-04-03 16:32:16 +08:00
广东电信 100m 表示一早就开始干扰 bt 协议了,迅雷,旋风,彗星, ut 全挂,同样的种子 100m 光纤挂还没一个钟不是任务失败就是没有一点速度,换成电信铜线 4m 普宽瞬间满速,换成联通 10m 铜线也满速!没测试移动,内部消息电信为了打击盗版封了 bt 协议,但是我觉得这只是幌子,电信为了节约成本家庭光纤一条主纤拖 100 多户人为了“保证”速度,直接封了 bt
|
4
xbb7766 2016-04-03 16:40:04 +08:00
@aigebiu 现在运营商屏蔽 p2p 技术猴赛雷呀~ ┐(´д`)┌
当初有限通的 bt cache 服务器刚出来时候各种不稳定,有段时间我一开 bt 下载, cache 服务器马上几千个连接请求发过来,然后我的路由器就直接死了。 |
6
xbb7766 2016-04-03 17:16:42 +08:00 via Android
@aigebiu 后来我发现 ut 开强制加密可以避免这问题,不过速度还是限制的。最后我就入电信这个坑了…… Sigh
|
7
ChangeTheWorld 2016-04-03 19:01:36 +08:00
p2p cache 劫持 DHT 节点
|