A-A+

Pythonic 写 python 的随机ip 用于X-Forwarded-For

2019年12月12日 10:40 汪洋大海 暂无评论 共664字 (阅读2,344 views次)

生成随机IPv4地址:

'.'.join([str(randint(0,255)) for x in range(4)])

生成随机IPv6地址:

':'.join([hex(randint(2**16,2**17))[-4:] for x in range(8)])

这是有效的,因为 randint 生成一个在0x10000到0x20000范围内的数字,然后我们选择最后四个十六进制数字。

起始上述代码可以更改一下,2**16 可以使用0x10000代替 ,,, 2**17 可以使用0x20000代替。

数据来源:https://answer-id.com/72798568


def random_ipv4():
    return '.'.join(str(randint(0,255)) for _ in range(4))


def random_ipv6():
    return ':'.join(
            ''.join(choice(hexdigits).lower() for _ in range(4))
            for _ in range(8)
    )

if __name__ == '__main__':
    if len(sys.argv) < 2:
        sys.exit('Usage: python random_ip.py VERSION')

    version = sys.argv[1]
    if version == '4':
        print(random_ipv4())
    elif version == '6':
        print(random_ipv6())
    else:
        sys.exit('VERSION should be 4 or 6, not {}'.format(version))

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言