本文へスキップ
Case Converter Online
ja

ランダム IP アドレス生成ツール

テストデータ、例示、ネットワークの演習用に、ランダムな IPv4 や IPv6 のアドレスを生成します。グローバルアドレスのみ、プライベートアドレスのみ、すべてのアドレスから選べます。

バージョン
オプション

結果

最近の結果

  1. 直近10件の結果がここに表示されます。ページを離れるまでの間だけ保持されます。

ランダム IP アドレス生成ツールでできること

インターネットプロトコル(IP)のアドレスをランダムに作成します。135.68.115.145 のようなおなじみの4つの数字からなる IPv4 か、21ad:631c:53d2:d8e3:2eda:4eb0:9613:bd98 のような長い16進数の IPv6 を選べます。グローバルアドレスのみ、プライベートネットワークのアドレスのみ、またはすべてのアドレスから選べ、一度に最大1,000件まで生成できます。

開発者は、テスト用のデータベースを埋める、フォームや入力チェックがすべての正しい形式を受け付けるか確かめる、ログ解析やファイアウォールのルールを試す、例を書く、といった目的でランダムなアドレスを使います。学生はサブネットの計算練習に使います。

アドレスはブラウザの中で作成されます。ツールが生成したアドレスに接続することはなく、ネットワークに何かを送信することもありません。

使い方

  1. 「バージョン」で「IPv4」か「IPv6」を押します。バージョンを切り替えると、すぐに新しいアドレスが生成されます。
  2. 「アドレスの範囲」を選びます。
    • グローバルのみ(プライベートと予約済みを除外):初期設定です。
    • プライベートのみ(LAN、ユニークローカル):家庭や社内のネットワークで使うアドレスです。
    • すべてのアドレス:取りうるすべての値を対象にします。
  3. 「個数」を設定します。初期値は10件で、上限は1,000件です。
  4. IPv6 で各グループを省略せずに書く必要がある場合は、「IPv6 を省略せずに表示」をオンにします。IPv4 を選んでいる間は、このボタンはグレー表示になります。
  5. 「結果の区切り」を選びます。初期設定は改行です。
  6. 「アドレスを生成」を押し、「コピー」を押します。

直近10回分の結果は、ページを離れるか「クリア」を押すまで、それぞれ「コピー」ボタン付きで「最近の結果」に残ります。

生成例

以下は、このページの裏で動いているコードを実際に実行した結果です。

設定 実行結果の一例
IPv4、グローバルのみ 135.68.115.145, 32.97.85.245, 120.174.184.237
IPv4、プライベートのみ 10.125.216.44, 10.219.46.158, 10.9.72.248
IPv4、すべてのアドレス 170.62.138.27, 121.245.231.165, 143.171.94.124
IPv6、グローバルのみ 21ad:631c:53d2:d8e3:2eda:4eb0:9613:bd98
IPv6、グローバルのみ 2258:9a97:b7c7:f511:216c:969:b5ff:557d
IPv6、プライベートのみ fd6e:3736:baea:555:1499:7806:3b7a:b276
IPv6、すべてのアドレス ecbd:c4a8:4f41:64fe:3e7d:1b1b:27cc:5f17
IPv6、グローバルのみ、省略せずに表示 2bd5:8531:03d4:eefc:9d19:9295:d31f:0a45

2つ目の IPv6 の行に注目してください。969 というグループは、本当は 0969 です。省略形では先頭のゼロを省きます。また、ゼロだけのグループが続く部分は :: に置き換えるので、2001:0db8:0000:0000:0000:0000:0000:0001 は 2001:db8::1 になります。

仕組み

IPv4 アドレスは32ビット、IPv6 アドレスは128ビットの数値です。ツールはブラウザの安全な乱数源 crypto.getRandomValues からそのビット数分のランダムな値を取得し、通常の表記法で書き出します。

IPv4、グローバルのみ。 ランダムな32ビットの値を引きます。それが特殊用途のブロックに入っていれば捨てて、新しい値を引き直します。除外されるブロックは次のとおりです。

  • 0.0.0.0/8(「このネットワーク」)
  • 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16(プライベートネットワーク)
  • 100.64.0.0/10(通信事業者が使う共有アドレス空間)
  • 127.0.0.0/8(ループバック)と 169.254.0.0/16(リンクローカル)
  • 192.0.0.0/24、192.0.2.0/24、198.51.100.0/24、203.0.113.0/24(プロトコル用とドキュメント用の範囲)
  • 192.88.99.0/24 と 198.18.0.0/15(旧リレー用とベンチマーク用の範囲)
  • 224.0.0.0/4(マルチキャスト)と 240.0.0.0/4(255.255.255.255 を含む予約済み)

捨てて引き直すことで、残りのグローバルアドレスがすべて同じ確率に保たれます。

IPv4、プライベートのみ。 3つのプライベートブロックを合わせた中から、アドレスを1つ選びます。各ブロックには大きさに比例した割合が与えられるので、どのプライベートアドレスも同じ確率になります。

IPv6、グローバルのみ。 結果はグローバルユニキャストの範囲 2000::/3 に収まります。つまり、最初のグループは 2 か 3 で始まります。2001::/23(プロトコル用の割り当て)、2001:db8::/32 と 3fff::/20(ドキュメント用)、2002::/16(6to4)は除外されます。

IPv6、プライベートのみ。 結果は fd00::/8 のユニークローカルアドレスです。これは fc00::/7 のうち、ローカルで割り当てるネットワーク用の半分です。

ヒントと制限

  • テストデータ専用です。 ここで作ったグローバルアドレスは、実在のネットワークのものかもしれません。通信を送るために使わないでください。
  • ドキュメントには例示用に予約された範囲を使いましょう。マニュアルやスクリーンショットには、192.0.2.0/24、198.51.100.0/24、203.0.113.0/24、2001:db8::/32 を使ってください。
  • 重複について。 アドレスはそれぞれ独立に引かれます。取りうる値が数十億あるので、少数の生成で重複することはまずありませんが、ツールは重複を防ぎません。
  • 割り当て済みかどうか。 「グローバルのみ」は「特殊用途のブロックに入っていない」という意味です。実際に誰かに割り当てられているかどうかは確認しません。
  • 2進数の練習。 アドレスをビットで見るには、各数値を2進数翻訳ツールで変換してください。たとえば 10 は 00001010 です。

そのほかのランダムな IP アドレスの作り方

Python。 ipaddress.IPv4Address(random.getrandbits(32)) で任意の IPv4 アドレスを、ipaddress.IPv6Address(random.getrandbits(128)) で任意の IPv6 アドレスを作れます。結果の .is_global や .is_private を確認し、条件に合わなければ引き直します。

Excel や Google スプレッドシート。 =RANDBETWEEN(1,223)&"."&RANDBETWEEN(0,255)&"."&RANDBETWEEN(0,255)&"."&RANDBETWEEN(1,254) で、おおまかな IPv4 アドレスを作れます。プライベートや予約済みのブロックは除外されません。

Faker ライブラリ。 多くのプログラミング言語向けのテストデータ用パッケージに、IP アドレスを作る機能があります。

関連ツール

テスト用の記録と組み合わせる一意の ID には、UUID 生成ツールを使ってください。ランダムなポート番号などの値には、乱数生成ツールで 1024 から 65535 のような範囲を指定してください。

ランダム IP 生成のよくある質問

「グローバルのみ」ではどのアドレスが除外されますか?

IPv4 では次の特殊用途ブロックを除外します:0.0.0.0/8、プライベートネットワーク(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)、共有アドレス空間 100.64.0.0/10、ループバック 127.0.0.0/8、リンクローカル 169.254.0.0/16、ドキュメント用とベンチマーク用の範囲、マルチキャスト 224.0.0.0/4、予約済みの 240.0.0.0/4 ブロック。IPv6 ではグローバルユニキャスト 2000::/3 の範囲内に限定し、2001::/23、2001:db8::/32、2002::/16、3fff::/20 を除外します。

プライベートの IPv4 の結果がほとんど 10 で始まるのはなぜですか?

どのプライベートアドレスも同じ確率で選ばれ、10.0.0.0/8 のブロックが圧倒的に大きいからです。10.0.0.0/8 には 16,777,216 個のアドレスがあり、172.16.0.0/12 は 1,048,576 個、192.168.0.0/16 は 65,536 個です。そのため、ほとんどの結果が 10.x.x.x になります。

生成されるのは誰かが使っている実在のアドレスですか?

ここで作ったグローバルアドレスは、実在のネットワークで使われている可能性が十分にあります。生成したアドレスはテストデータとしてだけ使い、ホストのスキャンや接続には絶対に使わないでください。文書の例示には、192.0.2.0/24 や 2001:db8::/32 などの予約済みのドキュメント用範囲を使うのが安全です。

「IPv6 を省略せずに表示」は何をするものですか?

IPv6 アドレスは通常、先頭のゼロを省き、ゼロだけのグループが続く部分を1か所 :: に置き換えて短く書きます。「IPv6 を省略せずに表示」をオンにすると、2bd5:8531:03d4:eefc:9d19:9295:d31f:0a45 のように、8つのグループすべてを4桁ずつ表示します。