用python随机生成5000个网址_使用Python脚本生成随机IP的简单方法
需求
在某应用中,需要根据一定的规则生成随机的IP地址,规则类似于192.168.11.0/24这样的CIDR形式给出。
实现
经过艰苦卓绝的调试,下面的代码是可以用的:
RANDOM_IP_POOL=['192.168.10.222/0']
def __get_random_ip():
str_ip = RANDOM_IP_POOL[random.randint(0,len(RANDOM_IP_POOL) - 1)]
str_ip_addr = str_ip.split('/')[0]
str_ip_mask = str_ip.split('/')[1]
ip_addr = struct.unpack('>I',socket.inet_aton(str_ip_addr))[0]
mask = 0x0
for i in range(31, 31 - int(str_ip_mask), -1):
mask = mask | ( 1 << i)
ip_addr_min = ip_addr & (mask & 0xffffffff)
ip_addr_max = ip_addr | (~mask & 0xffffffff)
return socket.inet_ntoa(struct.pack('>I', random.randint(ip_addr_min, ip_addr_max)))
生成的结果如:
192.168.10.175 192.168.10.29
192.168.10.30 192.168.10.207
192.168.10.248 192.168.10.145
192.168.10.168 192.168.10.223
192.168.10.66 192.168.10.138
192.168.10.99 192.168.10.136
192.168.10.147 192.168.10.244
192.168.10.73 192.168.10.180
备注
(mask & 0xffffffff)这一用法,目的在于消除mask上32位以上的高位数据。由于mask是IPv4的掩码,所以不需要32位以上的数据。这一问题在mask取反之后比较明显。由于mask是一个32位以上的数(有可能是64位),取反之后,高位全部为1,计算的结果就不正确了。因此,在使用之前,需要利用(mask & 0xffffffff)清除高位。
供各位读者参考。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
用python随机生成5000个网址_使用Python脚本生成随机IP的简单方法相关推荐
- python随机生成二维列表_对python产生随机的二维数组实例详解
对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...
- [转载] python 短网址_使用Python生成url短链接的方法
参考链接: URL 短地址Shorteners及其Python中的API 1 用PHP和Python生成短链接服务的字符串ID 假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常 ...
- python随机输出52张牌_基于Python制作一副扑克牌过程详解
整理一下通过本文分享给大家, 该案例是通过 Python 类属性创建一幅除去大王.小王之后的 52 张扑克牌,并实现随机抽牌.排序.洗牌等功能: 创建一个纸牌类 一副扑克除去大王小王之外,剩下的 52 ...
- python生成pdf文档_使用Python生成pdf文件
Python平台的优秀PDF报表类库Reportlab.它不属于Python的标准类库,所以必须手动下载类库包并安装: yum install python-reportlab -y 这篇文章将介绍r ...
- python三维数据转换成二维_用Python生成马赛克画
大家知道马赛克画是什么吗?不是动作片里的马赛克哦~~ 马赛克画是一张由小图拼成的大图,本文的封面就是我们的效果图,放大看细节,每一块都是一张独立的图片,拼在一起组成一张大图,感觉像是用马赛克拼出来的画 ...
- python三维随机游走轨迹模拟_用Python模拟随机游走(Random walks)
什么是随机游走? 随机游走(random walk)也称随机漫步,随机行走等,是以随机的体例采纳连续步调的过程.然后,可以将其他条件应用于此描述,以为您的特定用例建立一个随机遍历.粒子的布朗运动,股票 ...
- python制作的炫酷动画_用Python一键生成炫酷九宫格图片,火了朋友圈
作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修能力,才能得到一张张达到女友要求的图片,真心不容易啊- 朋 ...
- python 生成excel像素画_用python写一个excel画像素图脚本时所用到的一些库
首先 ,想法源于在果壳网看到的一个用excel画一幅像素图的活动 思路很简单: 先将一张像素图的每个像素点的rgb值取出来 然后用脚本操作excel,将rgb设置为单元格的背景色 主要就在于两点 一. ...
- python处理视频动漫化_用Python实现抖音上的“人像动漫化”特效,原来这么简单...
原标题:用Python实现抖音上的"人像动漫化"特效,原来这么简单 作者 | 黄伟呢 来源 | 数据分析与统计学之美 前几天,女友拉着我和她玩儿抖音,就是这个 人像动漫化的操作,顿 ...
最新文章
- android底部滑出view,Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出...
- bootstrap-翻页-对齐链接
- ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...
- 【PAT乙级】1024 科学计数法 (20 分)
- PPC 调用约定 r0-r31寄存器介绍
- Boost:boost::bimaps::vector_of的测试程序
- Atitit.rust语言特性 attilax 总结
- uint8_t / uint16_t / uint32_t /uint64_t 数据类型大总结
- *如何循序渐进向DotNet架构师发展(转)
- linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...
- java 对象流传输socket_Java Socket(二)使用TCP传输对象
- PAMIE:点击网页中的弹出窗口的按钮
- Django在根据models生成数据库表时报 __init__() missing 1 required positional argument 'on_d...
- linux内存和flash区别,嵌入式Linux概念NOR/NAND Flash的差别
- 计算机网络数据链路层之高速以太网(含使用以太网进行宽带接入)
- 数据字典怎么写_做数据分析,我只会同环比,谁能教我怎么写结论?
- 轩辕剑【超越XISE菜刀的shell管理工具】
- eNSP模拟无线AC和AP
- linux内核tcp_hdr,TCP的URG标志和内核实现
- php行驶证识别代码,涨姿势:行驶证中车辆识别代码一定要知道的事情!!!