wifi 场景:我在宿舍使用 wifi,宿舍有 cyberoam 防火墙,所有电脑都使用该接入点。该接入点具有以下配置
default gateway : 192.168.100.1
primary dns server : 192.168.100.1
在这里,当我尝试打开一个网站时,cyberoam 防火墙会将该页面重定向到登录页面(使用正确的登录信息,我们可以浏览互联网,否则则不行),并且网站访问和带宽限制。
我听说pd-代理它找到开放端口并通过端口建立隧道(通常是 udp 53)。使用带有 UDP 53 端口的 pd-proxy,我无需登录即可浏览互联网,甚至绕过带宽限制!
另一个软件叫开放VPN通过 udp 端口 53 连接 openvpn 服务器,我甚至无需登录 cyberoam 即可浏览互联网。
这两个软件都使用端口 53,特别是 openvpn 使用端口 53,现在我有一个 VPS 服务器,我可以在其中安装 openvpn 服务器并通过 VPS 服务器连接来浏览互联网。
我知道为什么会发生这种情况,因为对某些网站(例如 google.com)进行 ping 操作时它会返回其 IP 地址,这意味着它允许无需登录即可进行 DNS 查询。
但问题是,DNS服务已经在端口53上的VPS服务器上运行。我认为我只能使用53端口来绕过限制。我无法在端口53上的VPS服务器上运行openvpn服务。
那么如何扫描 wifi 中是否存在易受攻击的端口,比如 53,这样我就可以找出魔法端口并在同一端口上的 VPS 上启动 openvpn 服务。(我想扫描类似的易受攻击的端口,如 cyberoam 上的 53 端口,其中流量可以通过隧道传输,而不是想扫描在端口上运行的服务)。
我们始终欢迎通过重新标记和编辑来改进问题...
另一个问题
我制作了一个简单的客户端服务器应用程序,其中外部计算机充当在 UDP 端口 53 上运行的服务器,客户端在 wifi 内运行;将连接到在 UDP 端口 53 上运行的外部服务器。问题是它无法连接该服务器应用程序。原因是什么,为什么 wifi 内的客户端无法连接在 UDP 端口 53 上运行的外部服务器?
注意:所有这些仅用于教育目的,我对网络相关的知识很好奇......
答案1
要识别魔术端口,您可以在 WiFi 网络内使用 nmap,并扫描 VPS 的 IP 地址以获取所有 UDP 和 TCP 端口:
nmap -sU -sS -p1-65535 <vps ip>
这里的想法是,WiFi 端的防火墙会阻止离开本地网络的数据包,但任何通过的数据包都必须通过开放端口。因此,在 VPS 端,您可以运行
tcpdump -i <interface name> host <public IP address of wifi router>
您需要通过以下方式获取公共地址:http://whatismyip.com
我们对 nmap 返回的结果不感兴趣,我们想看看 tcpdump 看到的内容 - 任何到达 VPS 的数据包都将通过防火墙,因此数据包的目标端口将告诉我们哪些端口是打开的:
13:23:32.805549 IP <wifi router>.2154 > <vps>.ssh
上述片段显示一个数据包到达了 ssh 端口 22,该端口必须被允许通过防火墙。
请注意,虽然您可以进行 DNS 查询,但这并不意味着端口 53 对互联网开放。通常情况下,您可以联系受控的 DNS 服务器,这些服务器可以将 DNS 请求转发到互联网 - 就像在家庭环境中,您经常将路由器设置为网络的 DNS 服务器,而路由器负责解析查询。
如果端口 53 仅对特定 DNS 服务器开放,那么您可以使用 IP over DNS 隧道来绕过它。如果您有运行 DNS 服务器的 VPS,并且您有一个可以控制的域名,则可以使用碘它允许您通过 DNS 查询来隧道传输 IP,从而无需使用 OpenVPN(尽管在隧道内运行 OpenVPN 将确保您的数据包受到保护。您也可以对 ssh 执行相同操作)。
答案2
root# nano /etc/openvpn/server.conf
将端口改为 53
root# killall -9 openvpn
root# service start openvpn
好了,现在连接到端口 53