簡體   English   中英

我需要一些方法來檢查IPv6地址是否在python中的凈范圍內

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM