web-dev-qa-db-ja.com

パブリックIPv4アドレスの合計量はいくらですか?

はい、パブリックIPv4スペースで可能なIPの総数を知る必要があります。

すべてのIPアドレス範囲のきちんとしたリストをどこで入手できるかわからないので、誰かが私にこれを計算したり、IPの合計数を計算するためのリソースを教えてもらえますか?

また、パブリックIPとは、予約済みまたはプライベート範囲のIPアドレスをカウントしないことを意味します。インターネット経由でアクセスできるもののみ。

44
Earlz

予約済みIPアドレス によると、588,514,304個の予約済みアドレスがあり、合計4,294,967,296(2 ^ 32)個のIPv4アドレスがあるため、3,706,452,992パブリックアドレス。

また、この投稿にはアドレスが多すぎます

82
Marko

https://www.ripe.net/internet-coordination/press-centre/understanding-ip-addressing

IPv4の場合、このプールのサイズは32ビット(232)で、4,294,967,296のIPv4アドレスが含まれます。

IPv6の場合

IPv6アドレス空間のサイズは128ビット(2128)で、340,282,366,920,938,463,463,374,607,431,768,211,456 IPv6アドレスが含まれます。

予約済みIPを含む

 Reserved address blocks
 Range  Description Reference

 0.0.0.0/8  Current network (only valid as source address)  RFC 6890
 10.0.0.0/8 Private network RFC 1918
 100.64.0.0/10  Shared Address Space    RFC 6598
 127.0.0.0/8    Loopback    RFC 6890
 169.254.0.0/16 Link-local  RFC 3927
 172.16.0.0/12  Private network RFC 1918
 192.0.0.0/24   IETF Protocol Assignments   RFC 6890
 192.0.2.0/24   TEST-NET-1, documentation and examples  RFC 5737
 192.88.99.0/24 IPv6 to IPv4 relay (includes 2002::/16) RFC 3068
 192.168.0.0/16 Private network RFC 1918
 198.18.0.0/15  Network benchmark tests RFC 2544
 198.51.100.0/24    TEST-NET-2, documentation and examples  RFC 5737
 203.0.113.0/24 TEST-NET-3, documentation and examples  RFC 5737
 224.0.0.0/4    IP multicast (former Class D network)   RFC 5771
 240.0.0.0/4    Reserved (former Class E network)   RFC 1700
 255.255.255.255    Broadcast   RFC 919

wiki に完全な詳細があり、 this にIPv6の詳細があります。

26
ganesh

Markoの答えのほんの少しの修正:次の事実により、いくつかの一般的な計算から正確な数を直接生成することはできません:有効なIPアドレスは、サブネットのゼロシーケンスと同じ長さのバイナリ0または1シーケンスで終わるべきではありませんマスク。したがって、最終的な答えは、実際にはサブネットの総数に依存します(Markoの答え-2 *サブネット総数)。

17
Andriy K

パブリックIPアドレス

https://github.com/stephenlb/geo-ip は、地域を含む有効なIPパブリックアドレスのリストを生成します。

'1.0.0.0/8'から'191.0.0.0/8'は、次のように予約済みプライベートIPアドレスを除く有効なパブリックIPアドレス範囲です。

import iptools
## Private IP Addresses
private_ips = iptools.IpRangeList(
    '0.0.0.0/8',      '10.0.0.0/8',     '100.64.0.0/10', '127.0.0.0/8',
    '169.254.0.0/16', '172.16.0.0/12',  '192.0.0.0/24',  '192.0.2.0/24',
    '192.88.99.0/24', '192.168.0.0/16', '198.18.0.0/15', '198.51.100.0/24',
    '203.0.113.0/24', '224.0.0.0/4',    '240.0.0.0/4',   '255.255.255.255/32'
)

IPジェネレーター

IPアドレスと関連する地理情報のJSONダンプを生成します。有効なパブリックIPアドレスの範囲は'1.0.0.0/8'から'191.0.0.0/8'このreadmeの下に表示されている予約済みプライベートIPアドレス範囲を除く。

docker build -t geo-ip .
docker run -e IPRANGE='54.0.0.0/30' geo-ip               ## a few IPs
docker run -e IPRANGE='54.0.0.0/26' geo-ip               ## a few more IPs
docker run -e IPRANGE='54.0.0.0/16' geo-ip               ## a lot more IPs
docker run -e IPRANGE='0.0.0.0/0'   geo-ip               ## ALL IPs ( slooooowwwwww )
docker run -e IPRANGE='0.0.0.0/0'   geo-ip > geo-ip.json ## ALL IPs saved to JSON File
docker run geo-ip 

すべての有効なパブリックアドレスをスキャンするための少し高速なオプション:

for i in $(seq 1 191); do \
    docker run -e IPRANGE="$i.0.0.0/8" geo-ip; \
    sleep 1; \ 
done

これにより、4,228,250,625未満のJSON行がSTDOUTに出力されます。行の1つの例を次に示します。

{"city": "Palo Alto", "ip": "0.0.0.0", "longitude": -122.1274,
 "continent": "North America", "continent_code": "NA",
 "state": "California", "country": "United States", "latitude": 37.418,
 "iso_code": "US", "state_code": "CA", "aso": "PubNub",
 "asn": "11404", "Zip_code": "94107"}

プライベートおよび予約済みIP範囲

上記のリポジトリのdockerfileは、ウィキペディアの記事のガイドに従って使用できないIPアドレスを除外します。 https://en.wikipedia.org/wiki/Reserved_IP_addresses

MaxMind Geo IP

Dockerfileは、 https://www.maxmind.com/en/home が提供する無料のパブリックデータベースをインポートします

1
Stephen Blum