Когда я запускаю следующий код в Python 2.7, я получаю истинное значение для всех этих проверок.Странный результат при проверке, если ip-адрес находится в сети с netaddr
from netaddr import *
testip = '192.168.2.5'
testnetwork = '192.168.3.0/23'
if testip in IPNetwork(testnetwork):
print "Logic Fail"
if IPAddress(testip) in IPNetwork(testnetwork):
print "Logic Fail"
if testip in IPSet([testnetwork]):
print "Logic Fail"
if IPAddress(testip) in IPSet([testnetwork]):
print "Logic Fail"
Выход:
Logic Fail
Logic Fail
Logic Fail
Logic Fail
'192.168.2._' vs' 192.168.3._', один - '.2', другой' .3'. – 101
Вы имели в виду '192.168.3.0/24'? – falsetru
Конечно. -_- Я пытался захватить 192.168.3.0 и 192.168.4.0 в одной суперсете. Но, конечно, он возвращается к 192.168.2.0/23. –