文本工具 · 测试数据

随机 IP/域名

IPv4/IPv6/随机域名

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 120 次使用
设参数 · 实时批量生成 · 大批量 2000 不卡
⚠️ 仅供测试 / 开发占位:本工具数据均为程序随机生成的虚构占位,不来自任何真实数据库;已优先采用 IANA 文档保留地址段,如与真实信息偶合纯属巧合。仅供开发测试 / 占位演示,严禁用于诈骗、骚扰、批量注册等非法用途,后果由使用者自负。
生成参数 parameters
文档示例段(RFC 5737):在 192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 内随机,IANA 永久保留、永不真实路由,绝不撞真实地址。
文档保留段(RFC 3849):在 2001:db8::/32 内随机,IANA 永久保留、永不真实路由,绝不撞真实地址。
生成结果 output · 虚构测试数据
统计 totals
条数 count0
类型 typeIPv4
总字符 chars0
用时 ms0
就绪 · 纯本地生成,不上传、不入 URL(仅参数可分享)
第一节

关于本工具

About

写测试脚本或搭环境时,需要一批看起来像真的 IP 或域名来填充数据,手动编又怕格式不对。这个工具直接生成合法 IPv4、IPv6 或随机域名,点一下就能拿到一组,格式严格符合 RFC 规范。生成过程在浏览器本地完成,数据不会离开当前页面,适合批量造测试数据或做网络工具原型验证。

使用场景

壹

防火墙规则白名单

某金融公司安全运维人员需为海外分支机构配置防火墙白名单,但对方提供的 IP 地址段中混入了大量私有地址(如 10.x.x.x)和广播地址。运维人员将疑似地址段逐条输入本工具,利用其随机生成功能批量验证地址的合法性,筛选出公网可路由的 IPv4 与 IPv6 地址,最终将白名单从 300 条精简至 87 条有效条目,避免了因无效规则导致的策略冲突。

贰

API 限流测试数据

后端开发者在压测一个按 IP 限流的 API 接口时,本地环境只能模拟 5 个固定 IP。他使用本工具一次性生成了 200 个格式合法的随机 IPv4 地址,写入测试脚本的请求头 X-Forwarded-For 字段。测试结果显示,限流算法在 50 个不同源 IP 并发时出现误判,开发者据此发现了哈希冲突漏洞,修复后接口的限流准确率从 92% 提升至 99.9%。

叁

CDN 节点调度验证

某视频平台 CDN 运维工程师需验证全球 30 个边缘节点是否按 GeoDNS 策略正确调度。他使用本工具生成 50 个不同国家/地区的随机 IP 地址(含 10 个 IPv6),将这些 IP 作为 EDNS Client Subnet 参数逐一发起 DNS 查询。对比解析结果发现,有 3 个欧洲节点始终返回亚洲缓存服务器 IP,调度策略存在时区配置错误,修正后用户首帧加载耗时降低 40%。

肆

日志解析正则测试

数据分析师需从每天 2TB 的 Nginx 访问日志中提取访客 IP 并统计地域分布。他先用本工具生成 100 个包含 IPv4、IPv6 及非法 IP(如 999.999.999.999)的混合样本,然后编写正则表达式进行匹配测试。通过对比工具生成的合法 IP 与正则匹配结果,他发现原有正则漏掉了 IPv6 中带双冒号压缩格式的地址,修正后日志解析的 IP 提取率从 87% 提升至 100%。

伍

网络设备固件测试

嵌入式工程师在测试一款家用路由器的新固件时,需验证其 IP 地址冲突检测功能。他使用本工具生成 20 个格式完全合规但互不重复的随机 IP 地址,通过 telnet 逐一手动配置到路由器的 LAN 口和 WAN 口。测试发现,当配置的 IP 与上游 DHCP 服务器地址池重叠时,固件未触发 ARP 探测,导致局域网出现 15 秒的间歇性断流,该 Bug 在下一版固件中修复。

对比矩阵

维度本工具在线随机生成站手动/脚本生成
生成速度即时生成,单次可批量多数需逐条生成或限速手动慢,脚本需编写调试
IP 格式覆盖IPv4 + IPv6 + 随机域名常只 IPv4 或需切换模式需自行处理格式兼容
离线可用纯浏览器实现,断网可用依赖网络,断网不可用完全本地,无网络依赖
隐私数据不出浏览器IP 需发送至服务器完全本地,无传输
批量生成上限无硬性限制(受浏览器内存影响)常限制 10-50 条/次取决于脚本效率,无上限
使用门槛打开即用,无需注册部分需注册或登录需编程知识或手动输入
第二节

使用指南

Getting Started

使用步骤

  1. 1在「数量」输入框填入生成个数(1-1000),点击「生成IP」按钮,下方列表立即输出随机 IPv4 地址
  2. 2勾选「IPv6」复选框后再次点击生成,列表切换为随机 IPv6 地址,每行一个
  3. 3勾选「随机域名」复选框,生成结果变为随机域名(如 example-abc.xyz),可单独或与 IP 混合输出
  4. 4点击任意结果行右侧的复制图标,该行地址自动写入剪贴板,页面提示「已复制」

输入输出示例

输入输出说明
生成 1 个 IPv4 地址192.168.1.42常规:单次生成 IPv4,验证基本随机性,地址在私有/公网范围内均可能
生成 5 个 IPv6 地址2001:db8::1 fe80::a1b2:c3d4:e5f6:7890 ::1 2001:db8:85a3::8a2e:370:7334 fd12:3456:789a:1::10常规:批量生成 IPv6,覆盖链路本地、回环、唯一本地地址等常见前缀
生成 1 个随机域名example-abc123.com常规:单次生成随机域名,验证域名格式(字母+数字+常见顶级域),不含非法字符
生成 0 个地址(无输出)边界:数量为 0 时,工具应返回空结果,而非报错或生成默认值
生成 10000 个 IPv4 地址10.0.0.1 172.16.0.5 192.168.0.100 ...(共 10000 行)边界:大数量生成,验证性能与输出完整性,不截断或重复
生成 1 个 IPv4 地址(指定种子=42)10.0.0.1边界:种子固定时输出应可复现,验证伪随机一致性;若工具不支持种子则忽略此条
生成 1 个 IPv6 地址(格式要求:全小写)2001:0db8:0000:0000:0000:0000:0000:0001易错:IPv6 零压缩规则与大小写规范,用户可能期望全展开或全小写,需明确工具口径

常见错误对照

1.IPv4 段值超出 0-255 范围

✗ 错误192.168.256.1
✓ 修复192.168.255.1

IPv4 每个段是 8 位无符号整数,范围 0-255。256 超出上限,无效地址。

2.IPv6 省略前导零时漏写冒号

✗ 错误2001:db8::1:0:0:1
✓ 修复2001:db8::1:0:0:1

IPv6 中 :: 只能出现一次表示连续零段,但本例中 :: 位置正确。常见错误是 :: 出现两次或冒号数量不对导致解析歧义。

3.IPv6 段值超过 FFFF

✗ 错误2001:db8:12345::1
✓ 修复2001:db8:1234::1

IPv6 每段是 16 位十六进制数,范围 0000-FFFF。12345 是 5 位十六进制数,超限。

4.随机域名包含非法字符

✗ 错误example_domain.com
✓ 修复example-domain.com

域名只允许字母、数字、连字符(-)和点,下划线 _ 非法。RFC 1035 规定标签只能由字母、数字和连字符组成。

5.域名标签长度超过 63 字符

✗ 错误a-very-long-label-that-exceeds-sixty-three-characters-limit.example.com
✓ 修复short-label.example.com

DNS 规范中每个标签最长 63 字符,超长会导致解析失败。RFC 1035 明确限制。

6.混淆 IPv4 与 IPv6 格式

✗ 错误期望生成 IPv6 但输入了 IPv4 格式的种子 192.168.1.1
✓ 修复使用工具时明确选择 IPv6 生成模式,输入 IPv6 格式种子如 2001:db8::1

IPv4 和 IPv6 地址结构不同,混用种子格式会导致生成结果不符合预期。工具按所选类型解析输入。

7.随机域名包含连续连字符

✗ 错误example--domain.com
✓ 修复example-domain.com

域名标签中不允许连续两个连字符,RFC 952 和 RFC 1123 均禁止。某些解析器可能拒绝此类域名。

8.IPv4 地址包含前导零被误解析为八进制

✗ 错误192.168.010.1
✓ 修复192.168.10.1

某些系统将前导零的 IPv4 段视为八进制数(010 即 8),导致地址含义改变。建议避免前导零。

第三节

工作原理

How It Works

核心公式

IPv4 = 第一段.第二段.第三段.第四段,每段 0–255 随机整数

变量说明

  • 第一段0–255 随机整数
  • 第二段0–255 随机整数
  • 第三段0–255 随机整数
  • 第四段0–255 随机整数

示例

生成一个 IPv4 地址:第一段=192,第二段=168,第三段=1,第四段=100 → 192.168.1.100。

用户触发点击“生成”按钮类型选择IPv4 / IPv6 / 域名随机生成浏览器内算法结果展示IP/域名文本格式校验正则匹配
用户操作 本地处理 输出结果
第四节

开发者集成

For Developers

4 种主流语言实现,复制即用:

import random import socket import struct def random_ipv4(): # 生成随机 IPv4 地址(排除 0.0.0.0 和 255.255.255.255) return socket.inet_ntoa(struct.pack('>I', random.randint(1, 0xfffffffe))) def random_ipv6(): # 生成随机 IPv6 地址(RFC 4291 格式) return ':'.join(f'{random.randint(0, 0xffff):04x}' for _ in range(8)) def random_domain(): # 生成随机域名(顶级域从常见列表中选取) tlds = ['com', 'org', 'net', 'io', 'dev'] name = ''.join(random.choices('abcdefghijklmnopqrstuvwxyz', k=random.randint(3, 10))) return f'{name}.{random.choice(tlds)}' print(random_ipv4()) # 例: 192.168.1.1 print(random_ipv6()) # 例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 print(random_domain()) # 例: example.com
function randomIPv4() { // 生成随机 IPv4 地址(排除 0.0.0.0 和 255.255.255.255) const octets = Array.from({ length: 4 }, () => Math.floor(Math.random() * 254) + 1); return octets.join('.'); } function randomIPv6() { // 生成随机 IPv6 地址(RFC 4291 格式) const hextets = Array.from({ length: 8 }, () => Math.floor(Math.random() * 0x10000).toString(16).padStart(4, '0') ); return hextets.join(':'); } function randomDomain() { // 生成随机域名(顶级域从常见列表中选取) const tlds = ['com', 'org', 'net', 'io', 'dev']; const name = Array.from({ length: Math.floor(Math.random() * 8) + 3 }, () => String.fromCharCode(97 + Math.floor(Math.random() * 26)) ).join(''); return `${name}.${tlds[Math.floor(Math.random() * tlds.length)]}`; } console.log(randomIPv4()); // 例: 192.168.1.1 console.log(randomIPv6()); // 例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 console.log(randomDomain()); // 例: example.com
package main import ( "fmt" "math/rand" "net" "time" ) func randomIPv4() string { // 生成随机 IPv4 地址(排除 0.0.0.0 和 255.255.255.255) ip := make(net.IP, 4) for i := range ip { ip[i] = byte(rand.Intn(254) + 1) } return ip.String() } func randomIPv6() string { // 生成随机 IPv6 地址(RFC 4291 格式) ip := make(net.IP, 16) rand.Read(ip) return ip.String() } func randomDomain() string { // 生成随机域名(顶级域从常见列表中选取) tlds := []string{"com", "org", "net", "io", "dev"} name := make([]byte, rand.Intn(8)+3) for i := range name { name[i] = byte('a' + rand.Intn(26)) } return fmt.Sprintf("%s.%s", string(name), tlds[rand.Intn(len(tlds))]) } func main() { rand.Seed(time.Now().UnixNano()) fmt.Println(randomIPv4()) // 例: 192.168.1.1 fmt.Println(randomIPv6()) // 例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 fmt.Println(randomDomain()) // 例: example.com }
#!/bin/bash # 生成随机 IPv4 地址(排除 0.0.0.0 和 255.255.255.255) random_ipv4() { echo "$((RANDOM%254+1)).$((RANDOM%254+1)).$((RANDOM%254+1)).$((RANDOM%254+1))" } # 生成随机 IPv6 地址(RFC 4291 格式) random_ipv6() { printf '%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x\n' \ $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)) \ $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)) } # 生成随机域名(顶级域从常见列表中选取) random_domain() { tlds=("com" "org" "net" "io" "dev") name=$(tr -dc 'a-z' < /dev/urandom | head -c $((RANDOM%8+3))) echo "${name}.${tlds[$((RANDOM%${#tlds[@]}))]}" } random_ipv4 # 例: 192.168.1.1 random_ipv6 # 例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 random_domain # 例: example.com
第五节

常见问题

Q & A
问生成的 IP 地址真的没人用过吗?会不会跟我的线上服务器冲突?+
答

不会。本工具生成的 IP 是纯随机构造值,不查询任何现网数据库,也不分配给你使用。IPv4 会避开 127.0.0.0/8、10.0.0.0/8、192.168.0.0/16 等私有/保留段,但生成结果仍可能恰巧落在某些公网已分配段内。这些值仅适合做模拟数据、测试占位或脱敏替换,不能直接配到服务器网卡上。

问我只要 IPv6 地址,结果里混了 IPv4 怎么办?+
答

工具默认同时生成 IPv4 和 IPv6 各一条。如果你只需要 IPv6,可以在生成前勾选「仅 IPv6」开关(位于输入框下方)。如果没看到这个开关,说明当前版本只支持混合输出,你可以手动复制结果中带冒号的那一行,忽略点分十进制那行。

问生成的域名为什么有的带 .com,有的带 .xyz?能指定后缀吗?+
答

随机域名是从一个预设的顶级域名池里抽取的,包含 .com、.net、.org、.xyz、.top 等常见后缀。目前不支持用户自定义后缀列表。如果你需要全部生成 .com,可以多生成几次,手动筛选出 .com 的条目,或者把结果复制到文本编辑器里用查找替换统一改后缀。

问点了一次生成,再点一次,结果完全不一样了,怎么固定住某个地址?+
答

每次点击「生成」都会调用随机算法重新计算,所以结果不同。如果你有中意的一个地址,可以立即点击结果区右侧的「复制」图标(或手动选中 Ctrl+C)保存到剪贴板。工具没有历史记录功能,关闭页面后不会保留之前生成的值。

问一次能生成多少个地址?我想批量做测试数据。+
答

工具默认每次生成 1 组(1 个 IP + 1 个域名)。如果你需要批量,可以在输入框里的「生成数量」栏填入 2~100 之间的数字,然后点击生成。注意:数量越大,浏览器渲染结果列表的时间会稍长。如果超过 100 条,建议分多次生成后合并。

问生成的 IP 地址会不会包含 0.0.0.0 或者 255.255.255.255 这种特殊地址?+
答

不会。工具在生成时会主动过滤掉全 0、全 1、以及网络号/广播地址(如 192.168.1.0 和 192.168.1.255)。IPv6 同理,会避开 :: 和 ff02::1 等组播/未指定地址。如果你看到这些值,可能是粘贴时混淆了其他来源的数据,请重新生成一次确认。

问这个工具要联网才能用吗?在飞机上/没信号的地方能不能打开?+
答

可以离线使用。工具是纯前端实现(标签标注为 FE),所有随机逻辑都在浏览器里用 JavaScript 执行,不向服务器发送任何请求。首次加载页面后,断开网络再刷新,工具依然能正常生成 IP 和域名。适合在离线环境或内网开发机上使用。

问生成的域名能直接用来建网站吗?还是只能当占位符?+
答

只能当占位符。随机域名没有经过 DNS 注册,也不指向任何真实服务器。如果你把它填入浏览器地址栏,会提示「无法访问此网站」。它适合在数据库测试、API 文档示例、UI 设计稿里代替真实域名展示,但不能用于实际建站。

问为什么我复制出来的 IP 有时多了一个空格?+
答

这是结果框的换行格式导致的。工具在显示多条结果时,每条后面跟了换行符,复制时换行符会被当作空格粘贴。解决方法:复制后粘贴到记事本/代码编辑器,用替换功能把换行符(\n)替换为逗号或分号即可。未来版本会考虑增加「无格式复制」按钮。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

测试数据提示本工具生成的数据均为随机虚构,仅供开发测试、界面占位与教学演示;随机结果可能与真实信息巧合,禁止用于注册账号、营销骚扰、伪造身份证明或任何指向真实主体的用途,违规使用产生的后果由使用者自行承担。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭