{site_name}

{site_name}

🌜 搜索

Python可以使用socket库来创建Address/Network/Inte

Python 𝄐 0
python创建http服务器,python创建对象的方法,python创建dict的方法,python create_connection,python创建tcp服务器,python创建socket连接
Python可以使用socket库来创建Address/Network/Interface对象:

1. Address对象表示一个IP地址和端口号,可以用来建立网络连接或者监听网络请求。其中,IP地址可以是IPv4或IPv6格式,端口号为整数。

python
import socket

# 创建Address对象
addr = ('127.0.0.1', 8080)

# 打印Address对象的IP地址和端口号
print("IP地址: ", addr[0])
print("端口号: ", addr[1])


2. Network对象表示一个网络地址,它由一个IP地址和子网掩码组成。可以使用ipaddress库中的IPv4Network或IPv6Network类来创建Network对象。

python
import ipaddress

# 创建IPv4Network对象
net = ipaddress.IPv4Network('192.168.0.0/24')

# 打印网络地址及子网掩码
print("网络地址: ", net.network_address)
print("子网掩码: ", net.netmask)


3. Interface对象表示一个网络接口,它由一个名称、一个IP地址和MAC地址组成。可以使用psutil库中的net_if_addrs()函数获取所有网络接口的信息,并使用ifconfig()函数获取指定网络接口的信息。

python
import psutil

# 获取所有网络接口信息
iface_info = psutil.net_if_addrs()

# 遍历所有网络接口
for iface_name, iface_addrs in iface_info.items():
for addr in iface_addrs:
# 如果是IPv4地址,则输出名称、IP地址和MAC地址
if addr.family == socket.AF_INET:
print(f"名称: {iface_name}")
print(f"IP地址: {addr.address}")
print(f"MAC地址: {psutil.net_if_stats()[iface_name].address}")


上述代码中,我们使用psutil库获取了所有网络接口的信息,并输出了其中的IPv4地址、名称和MAC地址。