【发布时间】:2020-08-13 20:48:14
【问题描述】:
我对网络编程非常陌生,遇到了以下问题:
我正在 Windows10 主机上的 VMware CentOS7 虚拟机上工作。 我的脚本应该发送 WHOIS 查询并解析它们的输出(例如到期日期)。
但是,尝试发送查询会导致连接错误:
>>>import whois
>>>whois.query('google.com')
WhoisCommandFailed: connect: Network is unreachable
我试图从终端whois,但错误是一样的。
当我尝试直接从托管虚拟机的 Windows 中使用 whois 时,错误看起来也一样(连接超时)。
我发现,这很可能与对端口 43 的访问有关。我通过 guide 为该端口创建了 Windows 防火墙规则(用于输入和输出),但错误仍然存在。
似乎 ISP 阻止了对该端口的访问(但 ping 命令正在运行)。
总而言之,我有两个问题:
1)(不太重要)如何检查端口 43 是否被 ISP 防火墙阻止?
2) (最重要)是否有可能以某种方式重新配置 WHOIS 以使用另一个端口(即 23)通过 Python 脚本发送查询?
不幸的是,ISP 的安全策略不允许他们打开 43 端口。
【问题讨论】:
-
查看 RDAP。它是whois的“继任者”。它将为您提供相同的结果,但格式为基于 HTTPS 的 JSON。而且由于它是 HTTPS,因此不太可能被过滤。
标签: python networking whois pywhois