[[ Python и сетевые адреса ]]

Python и сетевые адреса

Функция возвращает True, если адрес принадлежит заданной подсети.

#!/usr/bin/env python
def addressInNetwork(ip, net):
   ipaddr = int(''.join([ '%02x' % int(x) for x in ip.split('.') ]), 16)
   netstr, bits = net.split('/')
   netaddr = int(''.join([ '%02x' % int(x) for x in netstr.split('.') ]), 16)
   mask = (0xffffffff << (32 - int(bits))) & 0xffffffff
   return (ipaddr & mask) == (netaddr & mask)
 
print addressInNetwork('192.168.100.38', '192.168.100.32/29')

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
47 +2 = 
 
practice/python/python_ip.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki