Python 中的 DNS 查找
本文将讨论 DNS 和 DNS 查找的概念。 之后,我们讨论使用 Python 进行 DNS 查找的方法。
什么是 DNS
DNS(域名系统)将域名转换为公共IP地址。 DNS 服务器将任何网站的域名转换为该网站主机服务器的公共 IP。
DNS查询
DNS 查找是一个过程,每当任何用户点击网站域名或根据公共 IP 查找域名时,就会启动查找任何网站的公共 IP。
DNS 查找有两种类型:
-
正向 DNS 查找
正向 DNS 查找也称为正向 DNS。 它是通过使用 DNS 服务器解析域名来查找任何域的公共 IP 的过程。
-
反向 DNS 查找
反向 DNS 查找与正向 DNS 查找相反。 这是一个根据公共 IP 地址查找域名的过程。
DNS 查找命令
nslookup 命令根据主机名查找 IP 地址或域名系统。 例如,nslookup google.com 输出如下所示。
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 个元素 family 、socktype 、proto 和 sockaddr 的列表。
family、socktype 和 proto 是可以与 socket()
一起使用的整数。 canonname 是一个显示主机规范名称的字符串 sockaddr 是一个包含地址和端口两个元素的元组。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串