如何生成隨機 IP 位址?原理解析與程式碼範例
在網路開發、系統測試、資料模擬等場景中,經常需要生成隨機 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+ 國家與地區,協助你在複雜的網路環境中,高效且安全地完成各類業務需求。



