-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
FakeUDP Function In Submit c41a1a5 Cannot Handle IPv6 Address Correctly #137
Comments
十分感谢 |
#135 is probably related to this issue. If I comment out the zoneID error check, and do not set
this error always occur. It seems that IPv6 needs to be handled carefully. |
@RPRX |
试下写死 eth0 ? |
I did the following change
The following error message is always reported
|
@RPRX |
感谢探索,根据我目前的理解,IPv6 中 scope/zone 的作用是指明非全局地址属于哪个网口,多网口时这应该是必要的 透明代理 UDP,返回数据时需要在本地伪造一个来源 socket,并 Write/WriteTo 回发起请求的 socket,即被代理的程序
事实上第三个方案是最合理且简洁的,即伪造 IPv6 socket 时 zone 写死 0,但 WriteTo 回的 UDPAddr 有正确的 zone 因为被伪造的地址显然属于全局地址(至少一般不属于本地的非全局地址),同时数据需要被发到正确的网口。 |
代码已提交 161e182 ,再次感谢 |
Thanks! |
in fakeudp_linux.go file
zoneID is translated from a String type, however, the
FakeUDP
caller, never setaddr.Zone
, which leads to error.Caller of
FakeUDP
function is from dokoemo.goThe text was updated successfully, but these errors were encountered: