從文件或私有位址區段中隨機抽取的 IPv4 位址,在任何非正式環境中都可以安全地替代真實的公開 IP 位址。RFC 5737 保留了 IPv4 的三個範圍 — 192.0.2.0/24、198.51.100.0/24 和 203.0.113.0/24 — 專供範例、教學與測試資料使用,而 RFC 1918 則保留了 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16 作為私有網路之用。從這些區段中隨機抽取 IPv4 位址,可以保證該數值絕對不會屬於任何真實的公開主機,因此無論貼到任何文件中,都不會實際連線到任何人的伺服器、不會洩漏到掃描記錄中,也不會在貼到文件中時觸發濫用通報。瀏覽器式的產生器會為你處理這些限制:它會選擇一個區段,使用密碼學等級的隨機方式挑選主機數值,並提供一個可複製的清單給你。最終的結果就是一個可用的範例值,你可以直接放進設定檔、螢幕擷圖、教學文件或測試資料中,完全不用擔心到底參考到誰的機器。

generate random ipv4 address
generate random ipv4 address

為什麼隨機 IPv4 位址應來自安全範圍

任何介於 0 到 255 之間、以四個點分隔的數字,都會構成一個語法上合法的 IPv4 位址。然而,四個真正隨機的數字,在大多數情況下都會落到目前公開網際網路上某個真實主機或網路所使用的位址。這使得臨時的隨機產生方式在幾個方面都具有風險。

當這個位址出現在教學、webhook 記錄、螢幕擷圖或 curl 範例中時,位址的真實擁有者會看到這個流量 — 或者更糟的是,自動化的濫用偵測系統會將你的測試標記為可疑的探測行為。某些監控系統甚至會將流向異常位址的流量隔離開來,這表示你的範例將無法如預期般運作。而且,由於位址配置會隨時間變化,昨天尚未被指派的數值,今天就可能被指派出去,讓一個靜態的範例變成一個實際的問題。

較安全的做法,是從那些依網際網路政策絕對不應承載正式環境流量的區段中挑選位址:

  • 文件用途範圍 (RFC 5737):192.0.2.0/24、198.51.100.0/24 和 203.0.113.0/24 保留供範例使用。公開網際網路上的路由器應該要丟棄送往這些位址的流量。
  • 私有範圍 (RFC 1918):10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16 保留給內部網路使用。它們無法在全球路由,但同樣地也不具備全球唯一性。
  • IPv6 文件用途範圍 (RFC 3849):2001:db8::/32 是 IPv6 中對應的範圍,同樣保留供範例使用。

這些範圍的存在,正是為了讓範例資料不會與真實世界的系統發生衝突。將你隨機產生的 IPv4 值限制在這些範圍之內,就能把位址變成一個任何正式服務都不應該解析、掃描或告警的純佔位符號。

產生器提供三種位址模式

每一種模式都解決不同的撰寫問題。挑選最符合你範例目標讀者的那一種。

模式來源 RFC保留範圍可公開路由最佳用途
文件用途 IPv4RFC 5737192.0.2.0/24、198.51.100.0/24、203.0.113.0/24教學、螢幕擷圖、範例記錄檔、測試資料
私有 IPv4RFC 191810.0.0.0/8、172.16.0.0/12、192.168.0.0/16否 (僅限內部區域網路)實驗室網路、內部設定範例、VPN 展示
IPv6 文件用途RFC 38492001:db8::/32雙協定堆疊範例、IPv6 教學

文件用途 IPv4 是任何將被發布或擷取畫面之內容最安全的預設選擇:這些數值在全球毫無意義,因此兩個不相關的團隊使用同一個範例時,都會得到正確的結果。當範例必須看起來像真實的內部 LAN 位址時 — 例如路由器設定、DHCP 範圍或 VPN 用戶端擷圖 — 私有 IPv4 模式就是正確的選擇,因為讀者一看到 10.x 就能馬上辨識「這是私有網路」。當你的讀者與你的範例都使用 v6,或是你需要在表格中展示一列雙協定堆疊時,IPv6 文件用途模式就是最佳選擇。

請注意,私有範圍在設計上並不具備全球唯一性:同一個 192.168.1.50 可能存在於數千個不相關的網路中。這在文件用途上沒問題,但當你真正部署時就必須留意。

逐步產生隨機 IPv4 位址

實際的工作流程很短。開啟 隨機 IP 位址產生器 並依序執行下列步驟。

  1. 在產生器頂端選擇位址模式:文件用途 IPv4、私有 IPv4 或 IPv6 文件用途。每種模式都從不同的保留區段集合作為來源,所以你的選擇將決定會得到哪一類的範例值。
  2. 在數量欄位中輸入 1 到 100 之間的數字。如果只是要在某個段落中放一個單一範例,輸入 1 就足夠;當你要填滿一個測試資料檔案或一張很長的螢幕擷圖時,則可以拉滿到最大值。
  3. 按下產生位址。此工具會使用瀏覽器的密碼學隨機來源從所選的區段中抽樣,略過網路與廣播主機八位元組,並透過一個小型重試迴圈進行去重。
  4. 檢視針對你所選模式產生的清單。文件用途清單可以安全地複製到任何將會被發布的內容中。私有清單在用於真實網路前,需要先快速進行一輪本地端檢查 (會在下一節中說明)。
  5. 複製輸出結果,並貼到你的文件、設定檔、測試資料或訓練教材中。沒有任何項目被申請、保留或透過網路傳送 — 這些數值是在本機端產生的,可直接以文字形式使用。

整個流程都在瀏覽器中執行,因此產生的位址絕不會離開你的機器。這項細節對於任何你可能記錄下來的內部範圍之隱私非常重要:你不需要事後再從伺服器記錄中把這些數值清掉,因為它們從頭到尾根本沒送到任何伺服器。

產生的清單究竟能用在哪些地方

產生器的輸出本身看起來毫不起眼 — 不過是一欄以點分隔的數字 — 但這些數字正好是許多工作流程所需要的:

  • 教學與操作指南文章:具體的範例位址比像 x.x.x.x 這類抽象的佔位符號,更容易讓防火牆規則、ip route 指令與 tcpdump 篩選條件被複製與驗證。
  • 測試資料:單元測試、模糊測試目標與整合測試套件,都能從穩定且已知安全的數值中受益,因為這些數值絕對不會不小心打到正式環境的端點。
  • 螢幕擷圖與訓練教材:顯示 192.0.2.47 的設定畫面,看起來就像一個可運作的真實範例;而佔位符號則會被解讀為一份尚未完成的草稿。
  • 設定範例:隨附於操作手冊或 wiki 中的 DHCP 範圍、靜態綁定範例、NAT 規則與 ACL 片段,在搭配看起來真實的數值時,可讀性都會大幅提升。
  • 離線開發:本機虛擬機、實驗室拓樸與家用網路示意圖都需要持續供應不同的 IP,而從私有範圍中抽取可以避免這些位址洩漏到外部世界。

針對上述任何一種用途,從文件用途或私有區段中取得的數值,在頁面上看起來都與真實的公開 IP 完全一樣,但對讀者周遭的系統卻是無害的。

為本地端衝突檢查私有 IPv4 的數值

這是文件用途模式不需要、但私有模式一定得進行的步驟。

RFC 1918 位址雖然不會在公開網際網路上被路由,但同樣地也不具備唯一性。192.168.1.50 這個位址,可能早已屬於你範例將部署之網路中的某台印表機、NAS、手機或 VPN 用戶端。RFC 刻意允許這種重複使用,讓各組織無需與註冊管理機構協調,就能為其內部網路編號。

在將產生的私有值用於真實網路之前,請檢查以下四件事:

  • 它是否已經被指派給現有的主機 (靜態或透過 DHCP 保留)?
  • 它是否位於與你控制的 VPN、容器橋接器或虛擬網路重疊的子網路內?
  • 它是否位於另一個團隊或分支所使用的子網路內,以致未來的路由變更可能發生衝突?
  • 它是否是產生器會排除的邊界八位元組之一:0 (網路位址) 或 255 (廣播位址)?

通常只要針對你的 IP 配置表 — 或子網路計算機 — 做一次快速比對就足夠了。如果該位址沒被使用,就直接貼上;如果已被佔用,就再產生一個,或挑選別的區段。對於完全以書面或螢幕擷圖形式呈現的文件來說,這些考量都不重要;那個數值只是裝飾,而兩份文件剛好使用同一個 192.168.x.y 反而正是我們想要的結果。

這個工具不會做的事

這一點值得明說,因為網路上大多數的 IP 產生器都試圖產生「任何隨機的公開 IPv4 位址」,而這正是本工具刻意避免的問題。

隨機 IP 位址產生器不會:

  • 產生任意的公開 IPv4 位址。輸出結果會被嚴格限制在 RFC 5737、RFC 1918 或 RFC 3849 範圍內,絕不會落入實際指派的空間。
  • 對任何位址進行 ping、掃描、探測或連線。所有動作都不會離開瀏覽器。
  • 保留或主張任何數值的所有權。清單只存在於你的工作階段中,不會被儲存到任何地方。
  • 測試某個私有位址是否已在你網路上被使用。這項檢查必須由你自己執行。
  • 將你的數量、模式或輸出結果上傳到任何地方。產生流程完全以 JavaScript 在網頁上執行。

如果你確實需要從腳本中產生隨機 IP — 例如在負載測試期間為一個假用戶端的資料庫植入種子資料 — 那麼瀏覽器內的做法就幫不上忙。在 Python 中安全地產生隨機 IP 位址 指南會說明如何在程式碼內達成同樣的事情,包括哪些函式庫會為你強制執行 RFC 5737 與 RFC 1918 的邊界限制。

How the Browser-Side Generation Works

The implementation behind the generator is short enough to walk through, and walking through it clarifies why the output is safe to trust.

Each reserved block defines an allowed range of prefixes. When you press Generate addresses, the tool draws random block indices using rejection sampling against the browser's Web Crypto source — the same primitive that backs secure random tokens and password generators. Each drawn block is then expanded into individual host addresses, but the conventional 0 and 255 host octets (network and broadcast) are excluded, so the values you receive are usable as ordinary hosts in example configs.

A bounded retry loop enforces uniqueness within the current result: if the next draw collides with one already in the list, the tool draws again, up to a small cap, rather than handing you a redundant row. The retry loop keeps generation time bounded at the count limit of 100 because collision probability and runtime both grow with batch size. If you need more than 100 distinct sample values, run a second batch and append the result.

Because everything happens in JavaScript on the page, there is no round trip to a server, no telemetry, and no third-party script that needs to see what you generated. That is also why the tool can confidently say nothing is reserved or scanned: it has no network capability beyond loading itself.

If you're weighing options, Make Math Worksheets More Engaging With Random Practice covers this in detail.