[英]I need some method to check if an IPv6 address is in a net range in python
作為驗證的一部分,我需要這樣做,我有一個IPv4解決方案。 但由於IPv6可以有多種格式,我無法找到確切的解決方案。 有什么建議么?
有很多方法可以解決你的問題。 您可以從類似任務的解決方案開始:
我的想法是使用Python的socket
模塊:
socket.inet_pton(socket.AF_INET6, address)
看看IPy 。 在Python中處理IP地址和子網時非常有用。
從Python 3.3開始,您就可以使用了
import ipaddress
ipaddress.ip_address(ip) in ipaddress.IPv6Network(network)
例如,
import ipaddress
ip = "2001:db8:85a3::8a2e:370:7334"
network = "2001:db8:85a3::/64"
test = ipaddress.ip_address(ip) in ipaddress.IPv6Network(network)
print(test) # True
Python 2.6+還有一個后端口 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.