Python 中的 DNS 查找

本文将讨论 DNS 和 DNS 查找的概念。 之后,我们讨论使用 Python 进行 DNS 查找的方法。


什么是 DNS

DNS(域名系统)将域名转换为公共IP地址。 DNS 服务器将任何网站的域名转换为该网站主机服务器的公共 IP。


DNS查询

DNS 查找是一个过程,每当任何用户点击网站域名或根据公共 IP 查找域名时,就会启动查找任何网站的公共 IP。

DNS 查找有两种类型:

  1. 正向 DNS 查找

    正向 DNS 查找也称为正向 DNS。 它是通过使用 DNS 服务器解析域名来查找任何域的公共 IP 的过程。

  2. 反向 DNS 查找

    反向 DNS 查找与正向 DNS 查找相反。 这是一个根据公共 IP 地址查找域名的过程。

DNS 查找命令

nslookup 命令根据主机名查找 IP 地址或域名系统。 例如,nslookup google.com 输出如下所示。

nslookup

nslookup google.com 命令显示域名系统和主机 google.com 的公共 IP。


Python 中的 DNS 查找

我们可以使用以下代码在 Python 中查找任何域的主机名或公共 IP。

import socket
ip_addr = socket.gethostbyname('www.google.com')
print(ip_addr)

Python 库的套接字提供了不同的函数和方法来开发基于网络的应用程序,包括服务器-客户端程序。 gethostbyname 函数用于查找任何主机名的公共 IP 地址。

gethostbyname 仅返回主机名的 IP 地址,而不考虑操作系统配置的规则。 但是,我们可以找到操作系统所有配置规则的主机名信息。

考虑以下代码,用于在不忽略操作系统配置规则的情况下查找地址信息。

import socket
print(socket.getaddrinfo('www.google.com', 80))

Python中socket库的getaddrinfo函数用于结合操作系统配置的规则来获取与主机名相关的信息。

getaddrinfo 函数返回包含 5 个元素 familysocktypeprotosockaddr 的列表。

family、socktype 和 proto 是可以与 socket() 一起使用的整数。 canonname 是一个显示主机规范名称的字符串 sockaddr 是一个包含地址和端口两个元素的元组。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值