在Python中,您可以使用ipaddress模块来判断一个IP地址是否是回环地址
import ipaddress
def is_loopback(ip):
return ipaddress.IPv4Address(ip) in ipaddress.IPv4Network('127.0.0.0/8') or \
ipaddress.IPv6Address(ip) in ipaddress.IPv6Network('::1/128')
# 测试
ip = '127.0.0.1'
print(is_loopback(ip)) # 输出: True
ip = '::1'
print(is_loopback(ip)) # 输出: True
ip = '8.8.8.8'
print(is_loopback(ip)) # 输出: False
这个函数首先检查给定的IP地址是否是IPv4地址,然后检查它是否在IPv4回环网络(127.0.0.0/8)中。对于IPv6地址,它检查给定的IP地址是否在IPv6回环网络(::1/128)中。如果满足任一条件,则返回True,表示该IP地址是回环地址。