python code.py 192.168.0.1 192.168.0.255
1 #!/bin/python 2 # coding: utf-8 3 4 ''' 5 将开始地址和结束地址表示的IP范围转换为 6 192.168.0.0/24 7 格式的地址 8 ''' 9 10 ''' 11 @ips 起始IP 12 @ipe 结束IP 13 @return 192.168.0.0/24 格式的IP范围表示法 14 ''' 15 def do(ips, ipe): 16 #TODO: 对输入数据是否为IP地址做校验 17 ipsnum = 0 18 for i in ips.split('.'): 19 ipsnum = (ipsnum << 8) + int(i) 20 ipenum = 0 21 for i in ipe.split('.'): 22 ipenum = (ipenum << 8) + int(i) 23 ipend = ipsnum ^ ipenum 24 zero_num = 0 25 while ipend != 0: 26 ipend = (ipend>>1) 27 zero_num = zero_num + 1 28 zero_num = 32 - zero_num 29 return '%s/%d' % (ips, zero_num) 30 31 if __name__ == '__main__': 32 import sys 33 if len(sys.argv) < 3: 34 print 'bad' 35 else: 36 print do(sys.argv[1], sys.argv[2])联系我:
Email: xudongsecret@qq.com