我知道這裏有一些類似的問題,但他們大多是要找到範圍本身(它使用了一些庫,就像stackoverflow所說的例子是一個愚蠢的例子我的問題),並用另一種語言。檢查一個IP是否在Python的CIDR範圍內
我有辦法子網到開始和知識產權的範圍的子網中的最終轉換(好吧,壞的字眼,它只是像1.1.1.1/16 -> (1.1.0.0 , 1.1.255.255)
)
我現在要檢查是否1.1.2.2
是內這個子網。我可以簡單地做一個>
和<
比較嗎?
ip_range = ('1.1.0.0', '1.1.255.255')
if '1.1.2.2' >= ip_range[0] and '1.1.2.2' <= ip_range[1]:
return True
當我測試它,它的工作原理,但我不知道它是否總是適用於任何ipv4 ip。我假設我只是比較ASCII順序,所以這應該總是工作,但有沒有例外?
的可能的複製[我如何檢查如果一個IP是Python中的網絡中(http://stackoverflow.com/questions/819355/how-can-i-check-if-an-ip在網絡中的蟒蛇)和答案在http://stackoverflow.com/questions/9717089/python-ip-subnet-match – TessellatingHeckler