随机 IP / 域名

IPv4/IPv6/随机域名

31 次访问

随机 IP / 域名 / UA 生成器

结果0 条

IP 地址类别参考

· 公网 IPv4:1.0.0.0 - 223.255.255.255 中排除私有段

· 私有 IPv410.0.0.0/8 / 172.16.0.0/12 / 192.168.0.0/16

· 回环127.0.0.0/8

· IPv6 私有fc00::/7(含 fd:: 唯一本地)

· CIDR 指定网段:填入 192.168.1.0/24 → 生成该段内随机 IP

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🔒

隐私浏览测试

安全研究人员或普通用户在测试浏览器隐私保护时,需要验证网站是否通过 IP 或域名追踪用户。本工具可快速生成随机 IPv4/IPv6 地址和域名,用于填充表单或请求头,模拟不同网络身份,检测网站对匿名流量的响应行为,避免真实 IP 泄露。

🧪

网络配置验证

网络工程师配置防火墙或 DNS 规则后,需用假 IP 和域名测试策略是否生效。本工具提供合法格式的随机 IPv4/IPv6 地址和域名,填入 ACL 规则或 DNS 解析记录中,验证规则匹配与阻断效果,无需占用真实公网资源。

📱

应用沙箱脱敏

移动端或桌面端开发者在测试应用网络请求时,需用假 IP 和域名填充日志或调试界面,避免真实服务器地址写入代码仓库。本工具一键生成随机地址,替换测试环境中的真实连接信息,降低敏感数据泄露风险,同时保持数据格式合规。

📝

安全培训演示

安全讲师在演示 IP 伪造或 DNS 劫持攻击时,需要假地址作为教学示例。本工具可生成不同子网掩码的 IPv4 段、链路本地 IPv6 地址及随机域名,用于构造攻击场景或防御策略演示,避免使用真实网络资产,确保培训环境安全可控。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具(假 IP/域名)竞品 A(在线 IP 生成器)传统方法(手动修改 hosts)
数据隐私纯浏览器处理,数据不上传服务器需将数据提交至云端生成本地操作,但需手动编辑系统文件
处理速度即时生成(毫秒级)受网络延迟影响,通常 1-3 秒取决于手动输入速度,通常 10 秒以上
离线可用性完全离线可用(浏览器本地运行)必须联网使用完全离线可用
输出格式支持 IPv4、IPv6、随机域名一键生成通常仅支持单一格式输出需手动构造每个 IP 和域名,易出错
批量生成支持一次性生成多个随机 IP/域名部分支持,但有限制不支持,需逐个手动添加
使用门槛打开网页即用,无需安装需注册或登录部分服务需具备系统文件编辑权限和基础知识
平台兼容性任何现代浏览器(桌面/移动端)仅限桌面端浏览器依赖操作系统(Windows/macOS/Linux 操作不同)

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
192.168.1.1192.168.1.1典型场景:常见私有 IPv4 地址
2001:db8::12001:db8::1典型场景:标准 IPv6 地址(文档前缀)
example.comexample.com典型场景:标准域名(保留域名)
0.0.0.00.0.0.0边界 case:IPv4 全零地址(未指定)
::1::1边界 case:IPv6 环回地址
256.256.256.256无效 IPv4 地址易错 case:每段超过 255 的常见误输入
google.com.google.com易错 case:末尾带点号(FQDN)自动去除
localhostlocalhost边界 case:主机名(非域名)仍可识别

常见错误对照8 个常踩的坑 · 错误 → 修复

1. IPv6 地址省略了方括号

错误
http://2001:db8::1:8080/path
修复
http://[2001:db8::1]:8080/path

RFC 3986 规定 IPv6 字面地址在 URI 中必须用方括号包裹,否则冒号会被解析为端口分隔符,导致地址解析错误。

2. IPv6 地址未压缩时写了多余的 0

错误
2001:0db8:0000:0000:0000:0000:0000:0001
修复
2001:db8::1

IPv6 允许省略每组前导零,并可用 :: 替代连续零段。但工具通常接受完整写法,只是可读性差且容易抄错。

3. IPv4 地址用了前导零(八进制歧义)

错误
192.168.01.1
修复
192.168.1.1

部分解析器(如 inet_aton)会将 01 解释为八进制(即十进制的 1),但现代标准(POSIX 不推荐)和大多数应用视为非法或产生歧义。

4. 随机域名带了协议前缀

错误
https://example-test-abc.xyz
修复
example-test-abc.xyz

工具生成的随机域名是纯域名字符串,不含协议、端口或路径。带上 https:// 会导致后续拼接 URL 时出现双协议头。

5. 随机域名包含非法字符(下划线)

错误
my_test_domain.io
修复
my-test-domain.io

DNS 标准(RFC 1035)只允许字母、数字和连字符。下划线仅在 SRV 记录等特定用途中合法,通用域名中会被拒绝。

6. IPv4 地址写了超出 0-255 的数值

错误
192.168.256.1
修复
192.168.255.1

IPv4 每个字节取值范围 0-255,256 超出范围。部分库会截断或抛出异常,工具会直接标记为无效地址。

7. IPv6 地址中混入了字母 G

错误
2001:db8:abcd:efgh::1
修复
2001:db8:abcd:ef00::1

IPv6 使用十六进制(0-9, a-f),字母 g 及以上非法。输入时容易手误将 f 打成 g,工具会立即报错。

8. 把子网掩码写成了 CIDR 以外的格式

错误
192.168.1.0/255.255.255.0
修复
192.168.1.0/24

本工具只接受 CIDR 前缀长度(/24)而非点分十进制掩码。混用格式会导致解析失败,需要手动转换。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

IPv4: 4 个 0-255 的十进制数,以点分隔;IPv6: 8 组 4 位十六进制数,以冒号分隔;随机域名: 由字母、数字、连字符组成的字符串,长度 1-63 字符,以点分隔多级标签

变量说明

  • IPv4 地址 — 如 192.168.1.1,每段 0-255
  • IPv6 地址 — 如 2001:db8::1,可省略前导零
  • 随机域名 — 如 example.com,标签长度 1-63

示例

生成一个随机 IPv4 地址:第一段 192,第二段 168,第三段 1,第四段 100 → 192.168.1.100。生成一个随机 IPv6 地址:2001:0db8:85a3:0000:0000:8a2e:0370:7334。生成一个随机域名:随机标签 'abc123' + 顶级域 '.com' → abc123.com。

适用范围

适用于测试、开发、演示场景,需生成符合 RFC 791(IPv4)、RFC 4291(IPv6)、RFC 1035(域名)规范的随机地址/域名。不适用于生产环境 DNS 解析或真实网络配置,因随机地址可能已被占用或属于保留段。

原理图

输入IPv4 / IPv6 / 域名本地生成随机 IP / 域名算法输出假 IP / 假域名用户选择数量 / 格式 / 前缀浏览器内处理无服务器请求结果展示复制 / 下载
用户输入 本地处理 输出结果 用户选择

开发者集成

3 种主流语言 · 复制即用

import random
import ipaddress

# 生成随机 IPv4 地址
def random_ipv4():
    return f"{random.randint(1, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(1, 255)}"

# 生成随机 IPv6 地址
def random_ipv6():
    segments = [f"{random.randint(0, 0xffff):04x}" for _ in range(8)]
    return ":".join(segments)

# 生成随机域名(简单模式:单词+数字)
def random_domain():
    prefixes = ["test", "demo", "example", "dev", "api"]
    tlds = ["com", "net", "org", "io", "dev"]
    return f"{random.choice(prefixes)}{random.randint(100, 999)}.{random.choice(tlds)}"

# 验证 IPv4 合法性
ipv4 = random_ipv4()
assert ipaddress.ip_address(ipv4).version == 4

# 验证 IPv6 合法性
ipv6 = random_ipv6()
assert ipaddress.ip_address(ipv6).version == 6

print(f"IPv4: {ipv4}")
print(f"IPv6: {ipv6}")
print(f"Domain: {random_domain()}")
package main

import (
	"fmt"
	"math/rand"
	"net"
	"strconv"
	"strings"
	"time"
)

func init() {
	rand.Seed(time.Now().UnixNano())
}

func randomIPv4() string {
	parts := make([]string, 4)
	for i := 0; i < 4; i++ {
		parts[i] = strconv.Itoa(rand.Intn(255) + 1)
	}
	return strings.Join(parts, ".")
}

func randomIPv6() string {
	parts := make([]string, 8)
	for i := 0; i < 8; i++ {
		parts[i] = fmt.Sprintf("%04x", rand.Intn(0x10000))
	}
	return strings.Join(parts, ":")
}

func randomDomain() string {
	prefixes := []string{"test", "demo", "example", "dev"}
	tlds := []string{"com", "net", "org", "io"}
	return fmt.Sprintf("%s%d.%s",
		prefixes[rand.Intn(len(prefixes))],
		rand.Intn(900)+100,
		tlds[rand.Intn(len(tlds))])
}

func main() {
	// 生成并验证 IPv4
	ipv4 := randomIPv4()
	if net.ParseIP(ipv4).To4() != nil {
		fmt.Println("IPv4:", ipv4)
	}

	// 生成并验证 IPv6
	ipv6 := randomIPv6()
	if net.ParseIP(ipv6) != nil {
		fmt.Println("IPv6:", ipv6)
	}

	fmt.Println("Domain:", randomDomain())
}
// 生成随机 IPv4 地址
function randomIPv4() {
  const parts = Array.from({ length: 4 }, () => Math.floor(Math.random() * 255) + 1);
  return parts.join('.');
}

// 生成随机 IPv6 地址
function randomIPv6() {
  const segments = Array.from({ length: 8 }, () => 
    Math.floor(Math.random() * 0x10000).toString(16).padStart(4, '0')
  );
  return segments.join(':');
}

// 生成随机域名
function randomDomain() {
  const prefixes = ['test', 'demo', 'example', 'dev', 'api'];
  const tlds = ['com', 'net', 'org', 'io', 'dev'];
  return `${prefixes[Math.floor(Math.random() * prefixes.length)]}${Math.floor(Math.random() * 900) + 100}.${tlds[Math.floor(Math.random() * tlds.length)]}`;
}

// 验证 IPv4 格式
const ipv4 = randomIPv4();
const ipv4Regex = /^(\d{1,3}\.){3}\d{1,3}$/;
console.assert(ipv4Regex.test(ipv4), 'Invalid IPv4');

// 验证 IPv6 格式
const ipv6 = randomIPv6();
const ipv6Regex = /^([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$/;
console.assert(ipv6Regex.test(ipv6), 'Invalid IPv6');

console.log('IPv4:', ipv4);
console.log('IPv6:', ipv6);
console.log('Domain:', randomDomain());

常见问题

7 个高频疑问

生成的假 IP 地址能直接用在我的项目里吗?
生成的 IPv4/IPv6 地址和随机域名格式符合 RFC 规范,但地址本身是随机分配的,不保证在公网或内网中未被占用。如果用于本地开发、测试环境、数据脱敏或演示页面,可以直接使用;如果用于网络配置(如防火墙规则、路由表),必须先确认该地址在目标网络中不存在冲突。工具不保留已生成地址的数据库,重复生成可能得到相同的地址(概率极低)。
为什么我生成的假 IP 和我在百度搜出来的真实 IP 不一样?
这是正常的。本工具生成的是完全随机的 IP 地址,并不是从任何真实 IP 库中抽取的。它的目的是提供格式正确但无实际归属的 IP,用于填充测试数据、演示页面或匿名化日志,而不是查询或模拟真实 IP 的归属地。如果需要查询某个真实 IP 的归属,应使用 IP 归属地查询类工具。
生成 IPv6 地址时,为什么有时候地址很短,有时候很长?
IPv6 地址有标准压缩规则。当地址中出现连续多段 0000 时,工具会按 RFC 5952 规范将其压缩为双冒号(::),因此地址可能看起来很短。例如 2001:0db8:0000:0000:0000:0000:0000:0001 压缩后为 2001:db8::1。如果不想看到压缩格式,可以勾选或切换“完整格式”输出选项(部分实现可能默认压缩)。
生成的随机域名能直接注册使用吗?
不能。工具生成的域名是随机字符串组合,没有经过任何域名注册机构的可用性检查,大概率已被注册或不符合注册规则。它们仅适用于本地 hosts 文件模拟、开发环境配置、日志脱敏等非生产场景。如果需要一个真正可用的域名,必须通过域名注册商查询并购买。
工具会不会记录我生成的 IP 和域名?
不会。本工具完全在浏览器端运行(FE 实现),所有随机生成逻辑由 JavaScript 在本地执行,不向任何服务器发送数据。无需担心生成的地址被收集或关联到用户行为。关闭页面后,生成结果立即从内存清除。如果需要彻底离线使用,可以断网后刷新页面,工具仍能正常工作。
一次最多能生成多少个假 IP 或域名?有没有数量限制?
工具界面通常提供一个输入框让用户指定生成数量,具体上限取决于浏览器性能。在主流浏览器(Chrome/Firefox/Edge)上,单次生成 10,000 个以内的 IPv4 地址或 5,000 个以内的 IPv6 地址通常不会明显卡顿。超过这个数量建议分批生成,或导出为 CSV/文本文件后处理。工具本身不设硬性数量限制,但过大的生成请求可能导致页面响应变慢。
生成的假 IP 地址中,会不会包含 127.0.0.1 或 0.0.0.0 这类特殊地址?
默认不会。工具生成的随机 IP 地址会排除以下保留地址段:回环地址(127.0.0.0/8)、当前网络地址(0.0.0.0/8)、链路本地地址(169.254.0.0/16)、多播地址(224.0.0.0/4)等 IANA 特殊用途地址。IPv6 同理,会排除 ::1 和 fe80::/10 等。如果需要包含这些特殊地址用于特定测试场景,可自行在生成结果中手动插入。
选择 打开 +新窗口 esc关闭