Поскольку список общедоступных IP-диапазонов AWS довольно длинный, и сопоставление IP-адреса с сетью может быть подвержено ошибкам, я написал небольшой скрипт для проверки, действительно ли IP-адрес не включен в список:
#!/usr/bin/env python3
import ipaddress
import json
import urllib.request
IP_ADDRESS_TO_CHECK = ipaddress.IPv4Address('54.240.3.17')
response = urllib.request.urlopen('https://ip-ranges.amazonaws.com/ip-ranges.json')
json_response = json.loads(response.read())
for ip in json_response['prefixes']:
if IP_ADDRESS_TO_CHECK in ipaddress.IPv4Network(ip['ip_prefix']):
print(ip)
Выполнение этого действительно проверяет, что IP-адрес в настоящее время не включен в список общедоступных диапазонов IPv4, опубликованных AWS.
Я могу только догадываться, почему это так, но это кажется вероятнымчто AWS еще не обновил список, чтобы включить сеть, частью которой является IP-адрес. Обратите внимание, что текущему списку уже три дня, как вы можете видеть из встроенного createDate
:
"createDate": "2019-10-18-19-53-09",