curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq --raw-output '.prefixes[].ip_prefix' | sort | uniq > ip-list
#! /usr/bin/env ruby # 含まれているか確認したいIPv4アドレスが列挙されているファイルを配列として読み込んでおく check_ip_list = File.readlines('check-list', chomp: true) # AWSのIPのCIDR 1行ごとに検査 File.foreach('ip-list', chomp: true){|line| cidr = IPAddr.new(line) check_ip_list.each{|ip| if cidr.include?(ip) printf("IP %s is member of CIDR %s/%d\n", ip, cidr, cidr.prefix) end } }
ip-check.rb
など適当な名前をつけて保存する。
実行権限を付加しておく。
chmod 755 ip-check.rb
check-list
ファイルに検査したいIPのリストを書いておく。例えば
10.0.0.1 10.0.0.2 10.0.0.3
そして./ip-check.rb
すればAWSのCIDRに含まれているIPが出力される。