Thursday 14 November 2013

My work: Membuat pendaftaran IP address per segmen menggunakan Python

Demo program:


Cara mengerjakan manual:



Source code (Python 2.7):

x = raw_input ('Masukkan nomor IP (Cth. 192.168.1.1) :')
y = raw_input ('Masukkan subnet mask (Cth. 255.255.255.192) :')

a = x.split('.')
b = y.split('.')

c = []
d = []

# c = IP address (x) ter-list
for i in a:
    c.append(int(i))

# d adalah subnetmask (y) ter-list
for i in b:
    d.append(int(i))

# e adalah hasil proses AND antara IP address ter-list dan subnetmask ter-list
# e akan digunakan untuk "membersihkan" IP address
e = []
for i in range (0,4):
    e.append(c[i]&d[i])

# g adalah hasil pengurangan antara subnetmask all 1 dan subnetmask ter-list
# g digunakan untuk increment IP address
f = [255, 255, 255, 255]
g = []
for i in range (0,4):
    g.append(f[i]-d[i])

# h adalah hasil pengurangan antara
h = []
for i in range (0,4):
    h.append(abs(e[i]-g[i]))

for i in range (e[0],h[0]+1):
    for j in range (e[1],h[1]+1):
        for k in range (e[2],h[2]+1):
            for l in range (e[3],h[3]+1):
                print str(i) +"."+str(j)+"."+str(k)+"."+str(l)

No comments:

Post a Comment