我对网络编程很陌生,面临以下问题:
我正在Windows10主机上的VMware CentOS7虚拟机上工作。我的脚本应该发送WHOIS查询并解析它们的输出(例如过期日期(。
然而,尝试发送查询会导致连接错误:
>>>import whois
>>>whois.query('google.com')
WhoisCommandFailed: connect: Network is unreachable
我尝试从终端whois
,但错误是一样的。当我尝试直接从承载虚拟机的Windows中使用whois
时,错误看起来也一样(连接超时(。
正如我所发现的,这很可能与访问43端口有关。我根据指南为这个端口创建了Windows防火墙的规则(用于入和出(,但错误仍然存在。ISP似乎阻止了对此端口的访问(但是ping
命令正在工作(。
总之,我有两个问题:1( (不太重要(如何检查端口43是否被ISP防火墙阻止?2( (最重要的(是否可以以某种方式重新配置WHOIS,以便使用另一个端口(即23(通过Python脚本发送查询
不幸的是,ISP安全策略不允许他们打开43端口。
大多数ISP不会阻塞任何端口,但是的,这不是100%正确的。
测试连接:
- 在Cents:
tcpdump -peni any tcp and port 43
上运行tcpdump
(安装命令:yum install tcpdump
(命令 - 您必须看到具有以下文本的行:
192.168.1.1.57350 > 192.34.234.30.43
,其中192.34.234.30IP地址表示远程whois服务器 - 尝试telnet到远程服务器的TCP/43端口:
telnet 192.34.234.30 43
- 您应该看到以下内容:
正在尝试192.34.234.30…
接192.34.234.30。
转义符为"^]"。
- 如果您看不到这样的上下文,并且您立即返回提示,您将在某个地方执行防火墙规则,即阻止连接。我建议暂时关闭防火墙,然后重新测试
您无法更改端口号,因为它是在服务器的远程端配置的。
CentOS7服务器可以与互联网通信吗?例如,你能安装软件包吗?
windows机器和ISP之间有路由器吗?