Esempio n. 1
0
    def test_ipv4_network(self):
        net = pyipcalc.IPNetwork('192.168.0.0/25')
        net2 = pyipcalc.IPNetwork('192.168.0.1/30')
        net3 = pyipcalc.IPNetwork('192.168.0.128/25')
        net4 = pyipcalc.IPNetwork('192.168.0.0/24')
        self.assertEqual('192.168.0.0/25', net.prefix())
        self.assertEqual('192.168.0.0', net.network())
        self.assertEqual('192.168.0.1', net.first())
        self.assertEqual('192.168.0.126', net.last())
        self.assertEqual('192.168.0.127', net.broadcast())
        self.assertEqual('255.255.255.128', net.mask())
        self.assertEqual(3232235520, pyipcalc.ip_to_int('192.168.0.0'))
        self.assertEqual('192.168.0.0', pyipcalc.int_to_ip(3232235520, 4))
        self.assertEqual('255.255.255.128', net.mask())

        def contains(net1, net2):
            if net1 in net2:
                return True
            else:
                return False

        self.assertEqual(True, contains(net2, net))
        self.assertEqual(False, contains(net3, net))
        self.assertEqual(False, contains(net4, net))
        self.assertEqual('192.168.0.0/24',
                         pyipcalc.supernet(net, net3).prefix())
        self.assertEqual(net[5].prefix(), '192.168.0.5/32')
        for i, ip in enumerate(net[0:1]):
            self.assertEqual(ip._ip, 3232235520 + i)
        for i, ip in enumerate(net[0:3:31]):
            self.assertEqual(ip._ip, 3232235520 + i * 2)
Esempio n. 2
0
 def test_ipv6_network(self):
     net = pyipcalc.IPNetwork('fff0::/64')
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000/64',
                      net.prefix())
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000',
                      net.network())
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000',
                      net.first())
     self.assertEqual('fff0:0000:0000:0000:ffff:ffff:ffff:ffff', net.last())
     self.assertEqual(
         340199290171201906239764863564210241535,
         pyipcalc.ip_to_int('fff0:0000:0000:0000:ffff:ffff:ffff:ffff'))
     self.assertEqual(
         'fff0:0000:0000:0000:ffff:ffff:ffff:ffff',
         pyipcalc.int_to_ip(340199290171201906239764863564210241535, 6))
Esempio n. 3
0
 def test_ipv6_network(self):
     net = pyipcalc.IPNetwork('fff0::/64')
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000/64',
                      net.prefix())
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000',
                      net.network())
     self.assertEqual('fff0:0000:0000:0000:0000:0000:0000:0000',
                      net.first())
     self.assertEqual('fff0:0000:0000:0000:ffff:ffff:ffff:ffff', net.last())
     self.assertEqual(
         340199290171201906239764863564210241535,
         pyipcalc.ip_to_int('fff0:0000:0000:0000:ffff:ffff:ffff:ffff'))
     self.assertEqual(
         'fff0:0000:0000:0000:ffff:ffff:ffff:ffff',
         pyipcalc.int_to_ip(340199290171201906239764863564210241535, 6))
     self.assertEqual(
         pyipcalc.int_128_to_32(340199290171201906239764863564210241535),
         (4293918720, 0, 4294967295, 4294967295))
     self.assertEqual(
         pyipcalc.int_32_to_128(4293918720, 0, 4294967295, 4294967295),
         340199290171201906239764863564210241535)
import pyipcalc

# Another module
# https://pypi.python.org/pypi/pyipcalc/1.0.1

print ipcalc.IP("192.168.1.1")
print ipcalc.IP("192.168.1.1/24").info()  # PRIVATE
print ipcalc.IP("124.129.14.90/30").mask  # 30
print ipcalc.IP("124.129.14.90/255.255.255.252").mask  # 30
print ipcalc.Network('123.235.52.106/30').netmask()  # IP('255.255.255.252')
print ipcalc.Network('123.235.52.106/30').network()

print ipcalc.Network('192.168.1.0/24')
print ipcalc.Network('192.168.1.0/255.255.255.0')

print pyipcalc.IPNetwork("192.168.1.0/24").mask()  # better than ipcalc
print pyipcalc.IPNetwork("192.168.1.0/24").network()

ip_str = '''192.168.4.1
192.168.4.3
192.168.4.4
192.168.6.54
192.168.6.55
192.168.6.100
192.168.6.101
'''
ip_list = ip_str.strip().split('\n')
ip_network_list = list()
for ip in ip_list:
    if len(ip.strip().split('/')) != 2:
        ip = ip + '/24'
import IPy

import ipcalc
# https://pypi.python.org/pypi/ipcalc/1.99.0
# Note: ipcalc is a program come from Linux package 'ipcalc'

import pyipcalc

# Another module
# https://pypi.python.org/pypi/pyipcalc/1.0.1

print ipcalc.IP("192.168.1.1")
print ipcalc.Network('192.168.1.0/24')
print ipcalc.Network('192.168.1.0/255.255.255.0')

print pyipcalc.IPNetwork("192.168.1.0/24").ip_network
print pyipcalc.IPNetwork("192.168.1.0/24").subnet()
print pyipcalc.IPNetwork("192.168.1.0/24").network()

ip_str = '''192.168.4.1
192.168.4.3
192.168.4.4
192.168.6.54
192.168.6.55
192.168.6.100
192.168.6.101
'''
ip_list = ip_str.strip().split('\n')
ip_network_list = list()
for ip in ip_list:
    if len(ip.strip().split('/')) != 2: