Wednesday, 15 June 2011

Быстрая проверка IP на принадлежность к сети на Python

Устанавливаем необходимое ПО (я работаю на Debian Squeeze):
apt-get install -y python-subnettree

Легкая проверка IP на принадлежность сети:
import SubnetTree

t = SubnetTree.SubnetTree()

t["192.168.1.1/24"] = "Network 1"
print '192.168.1.33' in t
print '192.168.13.33' in t

Выдача команды будет следующая:
True
False

Все это дело можно обернуть в простенький скриптик:
#!/usr/bin/python

import SubnetTree
import sys

t = SubnetTree.SubnetTree()
t["192.168.1.1/24"] = "Network 1"

if len(sys.argv) != 2:
print "Need params"
sys.exit(1)

print sys.argv[1] in t


$ python checkip.py 127.0.0.1
False
$ python checkip.py 192.168.1.4
True
Аналогичнй код на Perl: http://www.stableit.ru/2013/04/ip-perl.html 

No comments:

Post a Comment

Note: only a member of this blog may post a comment.