はい、パブリックIPv4スペースで可能なIPの総数を知る必要があります。
すべてのIPアドレス範囲のきちんとしたリストをどこで入手できるかわからないので、誰かがこれを自分で計算したり、IPの総数を計算したりするためのリソースを教えてもらえますか?
また、パブリックIPとは、予約済みまたはプライベート範囲のIPアドレスをカウントしないことを意味します。インターネット経由でアクセスできるもののみ。
はい、パブリックIPv4スペースで可能なIPの総数を知る必要があります。
すべてのIPアドレス範囲のきちんとしたリストをどこで入手できるかわからないので、誰かがこれを自分で計算したり、IPの総数を計算したりするためのリソースを教えてもらえますか?
また、パブリックIPとは、予約済みまたはプライベート範囲のIPアドレスをカウントしないことを意味します。インターネット経由でアクセスできるもののみ。
予約済みIPアドレスによると、予約済みアドレスは588,514,304であり、合計で4,294,967,296(2 ^ 32)IPv4アドレスがあるため、3,706,452,992のパブリックアドレスがあります。
そして、この投稿のアドレスが多すぎます。
https://www.ripe.net/internet-coordination/press-centre/understanding-ip-addressing
IPv4の場合、このプールのサイズは32ビット(2³²)で、4,294,967,296個のIPv4アドレスが含まれています。
IPv6の場合
IPv6アドレス空間のサイズは128ビット(2¹²⁸)で、340,282,366,920,938,463,463,374,607,431,768,211,456IPv6アドレスが含まれています。
予約済み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
マルコの答えのほんの少しの修正:次の事実のために、いくつかの一般的な計算から正確な数を簡単に生成することはできません:有効なIPアドレスは、サブネット内のゼロシーケンスと同じ長さのバイナリ0または1シーケンスで終わるべきではありませんマスク。したがって、最終的な答えは実際にはサブネットの総数に依存します(Markoの答え-2 *サブネットの総数)。
https://github.com/stephenlb/geo-ipは、地域を含む有効なIPパブリックアドレスのリストを生成します。
'1.0.0.0/8'
to'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アドレスと関連する地理情報のJSONダンプを生成します。有効なパブリックIPアドレスの範囲は、このreadmeの下部に示されている予約済みのプライベートIPアドレスの範囲'1.0.0.0/8'
を除いたものであることに注意してください。'191.0.0.0/8'
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に出力されます。次の行の例を次に示します。
{"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"}
上記のリポジトリのdockerfileは、ウィキペディアの記事のガイドに従って使用できないIPアドレスを除外します:https: //en.wikipedia.org/wiki/Reserved_IP_addresses
dockerfileは、https ://www.maxmind.com/en/homeによって提供される無料のパブリックデータベースをインポートします
2020年の現在の合計は36億8100万です。