iceonsun / rsock

The best companion of kcptun
https://github.com/iceonsun/rsock/wiki/rsock%E7%AE%80%E4%BB%8B%E4%BB%A5%E5%8F%8A%E5%8E%9F%E7%90%86
245 stars 36 forks source link

报文中掺杂额外字节 #15

Open wkgcass opened 4 years ago

wkgcass commented 4 years ago

hi,我正在开发一个基于kcp的应用,使用rsock做隧道,发现rsock会塞一段“不是我发送的字节”到udp包中。

客户端macos,服务端linux,版本均为20180613_03

tcpdump抓包发现,偶尔会有一段我没有发送的字节掺杂到报文中:

每一行是一次抓到的多余报文,特征很明显:

f268b10bd0083eed1700b6bc82180c30f129d9000000b6db1a370000000000

f268b10bd0083eed1700b6bc82180c30f129e400000045e318370000000000

f268b10bd0083eed1700b6bc82180c30f129f200000083e517370000000000

f268b10bd0083eed1700b6bc82180c30f1290101000019e719370000000000

f268b10bd0083eed170089aac51cc4d6d8a510000000a5e9895e0000000000

你们看下是否需要我提供tcpdump文件?或者说这段报文是有什么特殊用途的,需要我应用层单独处理?

wkgcass commented 4 years ago

另外我怀疑如果只开一个tcp通道,多个udp口同时写会有并发问题(数据错乱),表现是这样: 我的应用在KCP之上还带了TLS加密,有时会报Tag错误。不用rsock udp直连不会有问题。开了多个tcp通道(数量远多于udp口时)没有看到这样的异常。

wkgcass commented 4 years ago

我目前暂时把这样特征的字节段跳过了,并且开了多个tcp通道 https://gist.github.com/wkgcass/9fb70d8c4f5312ef7727ec7542f982fa 暂时是能用了

itblingfeng commented 4 years ago

你看人家理你吗

wkgcass commented 4 years ago

你看人家理你吗

github不是朋友圈

iceonsun commented 4 years ago

上班忙。理解万岁。我抽空看看哈

iceonsun commented 4 years ago

另外我怀疑如果只开一个tcp通道,多个udp口同时写会有并发问题(数据错乱),表现是这样: 我的应用在KCP之上还带了TLS加密,有时会报Tag错误。不用rsock udp直连不会有问题。开了多个tcp通道(数量远多于udp口时)没有看到这样的异常。

f268b10bd0083eed1700b6bc82180c30f129e400000045e318370000000000

你server/client端的mac地址是不是f2:xx?

wkgcass commented 4 years ago

当时用的设备在公司,下周一复工了去看看

wkgcass commented 4 years ago

另外我怀疑如果只开一个tcp通道,多个udp口同时写会有并发问题(数据错乱),表现是这样: 我的应用在KCP之上还带了TLS加密,有时会报Tag错误。不用rsock udp直连不会有问题。开了多个tcp通道(数量远多于udp口时)没有看到这样的异常。

f268b10bd0083eed1700b6bc82180c30f129e400000045e318370000000000

你server/client端的mac地址是不是f2:xx?

不是的