Генерация всех общедоступных IP-адресов с учетом CIDR
https://github.com/stephenlb/geo-ip создаст список допустимых публичных IP-адресов, включая населенные пункты.
'1.0.0.0/8'
- '191.0.0.0/8'
- действительный диапазон общедоступных IP-адресов, исключая зарезервированные частные IP-адреса.
IP-генератор
Создает дамп JSON IP-адресов и связанной гео-информации.
Обратите внимание, что действительный публичный диапазон IP-адресов
от '1.0.0.0/8'
до '191.0.0.0/8'
исключая зарезервированные
Частные диапазоны IP-адресов показаны ниже в этом файле readme.
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"}
Частный и зарезервированный диапазон IP-адресов
Dockerfile в репозитории выше исключит неиспользуемые IP-адреса
следуя руководству из статьи википедии:
https://en.wikipedia.org/wiki/Reserved_IP_addresses
MaxMind Geo IP
Dockerfile импортирует бесплатную общедоступную базу данных, предоставленную https://www.maxmind.com/en/home