python生成iplist

该Python脚本用于从IP地址范围(如192.168.1.1-192.168.2.1)中生成IP列表。它使用ipaddr库进行IP地址操作,并通过命令行参数解析器处理输入。脚本首先将IP地址转换为数字,然后生成范围内的所有IP,并检查它们的有效性。
摘要由CSDN通过智能技术生成
#-*-coding:utf-8-*-
#reference:https://www.cnblogs.com/amaoxiaozhu/archive/2012/09/04/2670009.html


import ipaddr
from argparse import ArgumentParser

#like 192.168.1.1-192.168.2.1
def gen_ips(iprange):
	
	def ip2num(ip):
		ip = [int(x) for x in ip.split('.')]
		return ip[0] <<24 | ip[1] <<16 | ip[2]<<8 | ip[3]

	def num2ip(num):
		return '%s.%s.%s.%s' % ((num & 0xff000000) >>24,
								(num & 0x00ff0000) >> 16,
								(num & 0x0000ff00) >> 8,
								num & 0x000000ff)
	
	start,end = [ip2num(x) for x in iprange.split('-')]
	return [num2ip(num) for num in range(start,end+1) if num & 0xff]

def checkipvalid(ip):
	global parser
	l = ip.split('.')
	if len(l) != 4:
		parser.print_help()
		exit()

	for i in range(len(l)):
		if int(l[i]) > 255:
			parser.print_help()
			exit()

def checkiprangevalid(start,end):
	global parser
	for i in range(4):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值