繁体   English   中英

Python | 通过IP地址检查网站是否存在

[英]Python | Check if website exists by IP address

我在.txt文件中有数百万个 IPv4地址,如下所示:

XYZW

XYZW

XYZW

...

我的目标是检查每个地址,如果后面有一个真实的网站或该地址是假的。

我见过的帖子仅涉及URL(而不是地址),的确,我尝试了上述方法,先将IP地址反向DNS映射为URL,然后使用它来确定网站是否存在。 但是,每个地址大约需要2秒钟,对于所有地址来说都意味着几个月,当然我没有时间。

最好,最快的方法是什么?

我非常喜欢Python,但是使用C可以大大提高速度吗?

谢谢。

除非虚拟托管这些网站,否则IP地址与主机名没有任何不同。 但是,在虚拟主机的情况下,使用反向DNS不能为您提供帮助,因为可以将多个站点托管在相同的IP地址上,并且您现在要查询的站点可能已关闭。 此外,并非所有网站都会在反向DNS记录中注册,因此您可能会错过一些网站。

我不知道您使用什么方法来确定是否将网站托管在某个地址,但是无论如何,执行此操作可能是受IO限制而不是CPU限制。 这意味着使用C可能会在性能上带来微不足道的改善,因为该程序将花费大部分时间等待网站的响应。

您可以提高性能的方法是:

  1. 减少超时。 如果将默认超时用于网络操作,则可能会发现自己等待响应的时间超出了您的期望。

  2. 并行化任务。 尝试使用threadingasyncio模块。 它们被构建为允许任务并行化,而asyncio专门用于IO绑定程序。

另外,考虑使用已经实现了这些功能的工具,例如nmap

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM