首頁to其他to文章詳情

如何生成隨機 IP 位址?原理解析與程式碼範例

如何生成隨機 IP 位址?原理解析與程式碼範例Daniel Wong
dateTime2026-02-27 10:31
dateTime其他

在網路開發、系統測試、資料模擬等場景中,經常需要生成隨機 IP 位址。很多人的第一反應是:隨便寫幾個數字不就行了嗎?但在實際使用中你會發現,隨機 IP 遠比想像中複雜:寫得出來,不代表合理;看起來像 IP,也不代表能用。


什麼是 IP 位址?

以 IPv4 為例,IP 位址由 4 個 0–255 的數字組成,例如:

192.168.1.1
8.8.8.8

理論上,IPv4 總共有約 43 億個位址,但這並不意味著它們都可以被隨意使用。

根據用途不同,IP 位址大致可以分為三類:

· 公網 IP:可在網際網路上被路由和存取

· 私有 IP:僅在區域網路內使用

· 保留/特殊 IP:回環、廣播、測試用途

「隨機 IP」通常指的是:隨機生成的公網 IP 位址

最簡單的隨機 IP 生成方式(基礎版)

最常見、也最直覺的方式是:

隨機生成 4 個 0–255 的整數

. 拼接成字串

範例(Python)

import random

def random_ip_basic():
    return ".".join(str(random.randint(0, 255)) for _ in range(4))

for _ in range(5):
    print(random_ip_basic())

從格式上看,這樣生成的字串完全符合 IPv4 的形式

⚠️ 問題在哪裡?

這種方式可能生成:私有 IP(如 192.168.x.x)、本地回環 IP(127.x.x.x)、不可路由位址,或根本不存在、早已被封鎖的 IP

排除無效 IP

1. 常見需要排除的 IPv4 位址段

IP 位址段用途
10.0.0.0 – 10.255.255.255私有網路
172.16.0.0 – 172.31.255.255私有網路
192.168.0.0 – 192.168.255.255私有網路
127.0.0.0 – 127.255.255.255本地回環
0.0.0.0特殊位址

2. 常見需要排除的 IPv6 位址段

IPv6 前綴用途
::1/128本地回環位址
::/128未指定位址
fe80::/10鏈路本地位址(僅區域網路)
fc00::/7唯一本地位址(ULA,類似私有 IP)
ff00::/8群播位址
2001:db8::/32文件/範例位址(不可路由)

生成隨機 IP 位址的標準方式:使用 ipaddress 標準函式庫

建議使用 Python 內建的 ipaddress 函式庫來處理 IP 位址。

它是 Python 官方維護的標準函式庫,內建對 IPv4 與 IPv6 各類位址屬性的判斷,比自行撰寫規則更可靠。

範例:

IPv4:

import random
import ipaddress

def random_public_ipv4():
    while True:
        ip = ipaddress.IPv4Address(random.randint(0, 2**32 - 1))
        if ip.is_global:
            return str(ip)

for _ in range(5):
    print(random_public_ipv4())

IPv6:

import random
import ipaddress

def random_public_ipv6():
    while True:
        ip = ipaddress.IPv6Address(random.randint(0, 2**128 - 1))
        if ip.is_global:
            return str(ip)

for _ in range(5):
    print(random_public_ipv6())

這裡的關鍵在於:

is_global == True

表示該 IP:

不是私有位址、不是回環位址、不是保留位址,理論上可在公網中被路由

真實業務場景:使用代理 IP

如果你的目標是:

🌍 模擬不同國家或地區
🤖 爬蟲或資料採集
🔐 風控/反作弊測試
🧪 多帳號環境隔離

那麼你需要的不是隨機演算法生成的 IP,而是:

真實存在、可連線的代理 IP

這類 IP 的特點是:

· 真實存在於網路中
· 可以正常連網
· 具備國家、營運商、ASN 等屬性
· 在系統看來更接近真實使用者的網路環境

總結

生成隨機 IP 位址並不是簡單地拼接幾個數字。真正合理的隨機 IP,需要遵循 IP 位址的分配規則,並區分公網、私有與保留位址。在 Python 中,使用官方提供的 ipaddress 標準函式庫,可以更規範地生成結構正確的公網 IP,用於測試與資料模擬等場景。

IPDeep提供高品質的代理 IP,包括:

等多種代理類型,擁有超過 1,000 萬個高品質 IP 資源,覆蓋全球 200+ 國家與地區,協助你在複雜的網路環境中,高效且安全地完成各類業務需求。

本文由Daniel Wong原創或整理發布,轉載請註明出處。 ( )
ad2