发往特定 TCP 端口的流量在哪里被阻止?

发往特定 TCP 端口的流量在哪里被阻止?

我有一台服务器,它被设置为监听特定端口 (1433),通常从任何地方访问该端口都没有问题。但是,从我工作的某个地方,我无法专门连接到该端口。其他端口(如 80、443 或 22)都没有问题,只有那个端口有问题。

我怀疑是 ISP 或本地路由器(我无法轻松访问),但为了排除故障,我想找出罪魁祸首。有没有一种工具可以帮助我查看路由中端口被阻止的位置,有点像traceroute但特定于端口?

答案1

在 *NIX 世界中有 tcptraceroute:

sudo tcptraceroute <host/ip> <tcpport>

根据您提到的 MS SQL 常用的端口 1433,我猜测您使用的是 Windows。

有一款适用于 Windows 的应用程序叫做tracetcp它的作用似乎相同,但我自己没有用过它。

答案2

如果您可以从位置 A 以外的任何地方连接到服务器,则可能是位置 A 的防火墙或其服务提供商的问题。如果是该位置的防火墙,您应该可以通过与站点管理员交谈或查看防火墙规则来判断,或者您可以查看是否可以在防火墙另一侧连接该网络上的系统,并查看连接是否正常。

如果没有,那么你很可能在他们的 ISP 上拥有它,你可以联系他们的网络运营中心并询问他们。如果这是商业连接,他们应该愿意与你合作。如果没有,你可能必须考虑 VPN 解决方案或代理解决方案,或者更改你的系统正在监听的端口。

您可能能够使用 nmap 测试是否有多个位置可以侦听该端口,以查看该端口是否无论您去哪里都会被阻止,但如果您可以从等式中删除路由器/防火墙并直接从站点尝试而不受干扰,它应该告诉您它是否是 ISP 或您站点的路由器。

相关内容