当 ISP 似乎中断与 VPS 的 SOCKS5 连接时该怎么办?

当 ISP 似乎中断与 VPS 的 SOCKS5 连接时该怎么办?

我有一个 VPS,到目前为止一直在其上使用 socks5 服务器。

问题是,最近我的 ISP(我住在伊朗)找到了某种方法来中断它,我收到了“被屏蔽的页面”,即使通过代理服务,这些网站也会被审查。我在某种程度上知道问题不在于 VPS,它位于德国,当与其他 ISP 一起使用时没有问题。

问题出在哪里?socks5 连接不安全吗?有什么替代方案?

答案1

Socks 握手是透明的,易于检测(3 字节静态数据)。DPI 可以监控数据包数据以检测 socks 连接。为了逃避检测,您可能需要通过在客户端和服务器上更改原始 socks 协议来自定义握手。默认情况下,客户端使用这些字节启动连接(如果没有身份验证)

0x05, 0x01, 0x00

5 定义 socks 版本,1 表示方法数,0 表示方法类型。一种快速的方法是更改​​客户端以发送

0x05, 0x03, 0x00, 0x00, 0x00

现在签名发生了变化,DPI 可能无法检测到。(这里我们说有 3 种方法,但我们发送了冗余方法,因此服务器不需要进行任何更改)

答案2

好吧,ISP 知道您是否有 tcp 或 udp 连接,它可能会查看数据包,然后知道该连接是否加密。

ISP(想要干扰此类加密连接)可能会开始丢弃数据包。根据丢弃的数据包数量,连接要么中断,要么感觉非常缓慢和迟缓(因为 tcp 必须重新要求服务器重新发送(丢弃的)丢失的数据包)。

要了解你的 ISP 是否丢弃了数据包,你必须使用类似wireshark可能会帮助你发现发生了什么(http://wiki.wireshark.org/PacketLoss)。

正如我在你的问题的评论中提到的,你可能想尝试一下 putty。如果这个频道也存在由你的 ISP 引起的连接问题:那你就倒霉了。如果 putty/ssh 可以工作,你可能想通过 ssh 设置一个 SOCKS 代理,看看是否有帮助。

http://martinjr.net/2010/06/29/quick-and-easy-socks5-ssh-tunnel-set-up-with-putty/

答案3

我遇到了与您提到的同样的问题,我发现问题出在您的 ISP 的 DNS 服务器上。

我使用我的 VPS 来 ping 我想要访问的服务器,并且我检查了从我在计算机上执行的 ping 操作中获得的 IP,发现它们完全不同。

所以我只需将该 IP 添加到我的 hosts 文件中,就大功告成了。

不过,我没有尝试更改网络设置中的 DNS 服务器。我觉得这太麻烦了

相关内容