1

我对网络编程非常陌生,并面临以下问题:

我在 Windows10 主机上使用 VMware CentOS7 虚拟机。我的脚本应该发送 WHOIS 查询并解析它们的输出(例如到期日期)。

但是,尝试发送查询会导致连接错误:

>>>import whois
>>>whois.query('google.com')


WhoisCommandFailed: connect: Network is unreachable

我试图whois从终端,但错误是一样的。当我尝试whois直接从托管虚拟机的 Windows 中使用时,错误似乎也相同(连接超时)。

我发现,这很可能与访问端口 43 有关。我通过指南为该端口创建了 Windows 防火墙规则(用于进出),但错误仍然存​​在。似乎 ISP 阻止了对该端口的访问(但是ping命令正在运行)。

总而言之,我有两个问题:1)(不太重要)如何检查端口 43 是否被 ISP 防火墙阻止?2) (最重要)是否有可能以某种方式重新配置 WHOIS 以使用另一个端口(即 23)通过 Python 脚本发送查询?
不幸的是,ISP 的安全策略不允许他们打开 43 端口。

4

1 回答 1

0

大多数情况下,ISP 不会阻止任何端口,但是是的,这不是 100% 正确的。

测试连接:

  • 在 CentOS 上运行tcpdump(安装命令:)命令:yum install tcpdumptcpdump -peni any tcp and port 43
  • 您必须看到带有以下文本的行:192.168.1.1.57350 > 192.34.234.30.43其中192.34.234.30 IP 地址表示远程 whois 服务器。
  • 尝试 telnet 到远程服务器的 TCP/43 端口:telnet 192.34.234.30 43
  • 您应该看到以下内容:

正在尝试 192.34.234.30...

连接到 192.34.234.30。

转义字符是 '^]'。

  • 如果您看不到这样的上下文并且您立即返回提示,您将在某处阻止连接的防火墙规则。我建议暂时关闭防火墙并再次测试。

您无法更改端口号,因为它是在服务器上的远程端配置的。

CentOS7 服务器可以与 Internet 通信吗?例如,您可以安装软件包吗?

windows机器和ISP之间有路由器吗?

于 2020-04-29T17:38:17.147 回答