python的 ipv6 自动生成

本文分享了一款Python程序,能够将大整数转换为IPv6地址格式,并演示了如何批量生成并写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上很多数字转ipv4的程序,没有数字转ipv6的。

由于单位测试要用,我先是在网上找了半个小时,没找到。一怒之下,被逼无奈,自己写了一个。贡献出来,正好大家也使用一下吧。

功能:把一个数字转换成ipv6的地址。多大的都行。


#!/usr/bin/python
#-*-coding:utf-8-*- 


import string


base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]


def dec2hex(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0: break
        num,rem = divmod(num, 16)
        mid.append(base[rem])


    return ''.join([str(x) for x in mid[::-1]])
 
def int2ip(ipInt):
    ipStr = ''
    leftValue = ipInt
    for i in [7, 6, 5, 4, 3, 2, 1, 0]:
        ipTokenInt = dec2hex(leftValue / 65536**i)
        if(ipTokenInt==''):
            ipTokenInt = 0
        ipStr = ipStr + str(ipTokenInt)
        if i!=0:
            ipStr = ipStr + ':'
        leftValue %= 65536**i
    return ipStr    

if __name__ == "__main__":
    try:
        file_object = open('ipv6.wlist', 'w')
        n = 400000000000000000000000000000000000
        print 'start ip'+int2ip(n)
        for i in range(999):
            file_object.write(int2ip(n)+'\n')
            n=n+1
        n=n+1
        file_object.write(int2ip(n))
    finally:
        file_object.close()


起始ip的数字 就是那个 40000000000000 就是说 从这个数字开始计算ipv6的。以后每次ipv6 都是数字加1. 写文件到 ipv6.wlist中。

行了,python2的程序。

可以运行,本次亲测,亲自使用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值