Python中的随机IP地址生成器

IP(互联网协议)地址是一个唯一的数字,用于识别网络上的设备。IPv4和IPv6是两种版本的IP地址。

一个IPv4地址由点. ,分成四个部分,而IPv6则由分号: ,分成八个部分。

Python 提供了多个模块,可以用来打印一个随机的 IP 地址。本教程将教你在Python中生成一个作为字符串的随机IP地址。

使用Faker 模块在Python中生成作为字符串的随机IP地址

Faker 是一个允许你生成假数据的Python模块。它可以打印不同类型的假数据,包括IP地址、姓名、电子邮件、国家、文本等。

你可以使用pip 命令来安装Faker

pip install Faker

下面的例子在Python中生成了一个随机的IPv4地址。

from faker import Faker
fake = Faker()
ip_addr = fake.ipv4()
print(ip_addr)

输出:

126.144.73.38

要打印一个随机的IPv6地址,你可以运行下面的脚本。

from faker import Faker
fake = Faker()
ip_addr = fake.ipv6()
print(ip_addr)

输出:

f0d7:7e1e:7a39:32f1:c4aa:1e80:2287:1311

使用random 模块在Python中生成随机IP地址为字符串

random 是Python中的一个内置模块,用于打印随机数。

下面的例子在Python中生成了一个随机的IPv4地址。

import random
ip = ".".join(str(random.randint(0, 255)) for _ in range(4))
print(ip)

输出:

60.254.193.222

使用ipaddress 模块在Python中生成随机IP地址为字符串

Python中的ipaddress 模块提供了生成、操作和处理IPv4和IPv6地址和网络的功能。

下面的例子在Python中打印了一个随机的IPv4地址。

import ipaddress
import random
IPV4 = ipaddress.IPv4Address._ALL_ONES
def random_ipv4():
    return  ipaddress.IPv4Address._string_from_ip_int(
        random.randint(0, IPV4)
    )
print(random_ipv4())

输出:

114.71.143.104

要生成一个IPv6地址,请执行这个脚本。

import ipaddress
import random
IPV6 = ipaddress.IPv6Address._ALL_ONES
def random_ipv6():
    return ipaddress.IPv6Address._string_from_ip_int(
        random.randint(0, IPV6)
    )
print(random_ipv6())

输出:

44c3:48f4:669a:e964:6c93:75ca:3625:59d3

使用socket 模块在Python中生成字符串形式的随机IP地址

这是另一种使用Python中的random,socket, 和struct 模块来生成IPv4地址的方法。

import random
import socket
import struct
ip=socket.inet_ntoa(struct.pack('>I', random.randrange(1, 0xffffffff)))
print(ip)

输出:

101.131.185.15

你已经学会了使用不同的Python模块来打印IPv4和IPv6地址。现在你应该知道如何在Python中生成一个随机的IP地址作为一个字符串。