📅  最后修改于: 2023-12-03 15:11:22.256000             🧑  作者: Mango
在计算机网络中,IP地址是唯一地标识一个网络设备的地址。目的IP地址是指网络数据包发送的目标地址。在网络中,当一个设备要向另一个设备发送数据包时,就需要将数据包发送到目的IP地址所对应的设备上。
IP地址是一个用点分十进制表示的32位二进制数。常见的IP地址格式为x.x.x.x
,其中每个x
都代表一个8位二进制数。例如,192.168.0.1
就是一个IP地址。在计算机中,IP地址通常以32位二进制数的形式表示,如11000000 10101000 00000000 00000001
。
目的IP地址是网络中进行数据交换的重要依据。当一个设备需要发送数据时,它会将数据包封装成一个数据帧,并将数据帧发送到网络中。数据帧中包含有目的IP地址,网络设备会根据目的IP地址来确定数据包的目的地,从而将数据包发送到正确的设备上。
IP地址按照其二进制数的前缀来进行分类,共分为A、B、C、D、E五类。其中,A类地址的前缀为0、B类地址的前缀为10、C类地址的前缀为110、D类地址的前缀为1110、E类地址的前缀为1111。不同的IP地址类别对应着不同的可用地址范围,例如A类地址可用的地址范围为1.0.0.0-126.255.255.255。
# -*- coding:utf-8 -*-
import socket
# 定义目的IP地址
ip = 'www.baidu.com'
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取IP地址相应的IPV4地址(集合)
ip_port = socket.getaddrinfo(ip, 0, socket.AF_INET)
# 遍历ip_port, 获取IPV4地址
for item in ip_port:
# 获取IP地址
ip = item[4][0]
print('IP地址:', ip)
# 关闭socket
s.close()
返回值为:
IP地址: 14.215.177.38
IP地址: 14.215.177.37
以上代码演示了如何通过DNS解析获取一个网址的IP地址列表。可以看到,同一个域名可能对应多个不同的IP地址。