Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pwyliu/81dcbc8ddc55bd18ec73ea1aa3b31f52 to your computer and use it in GitHub Desktop.
Save pwyliu/81dcbc8ddc55bd18ec73ea1aa3b31f52 to your computer and use it in GitHub Desktop.
Get IP Ranges from EC2
#!/bin/bash
# You need: curl, jq, and ipcalc to run this.
# You should already have cut, sort and uniq if you're on OS X or Linux.
RANGES=$(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq .prefixes | jq '.[] | select(.region=="us-east-1")' | jq 'select(.service=="EC2")' | jq .ip_prefix | cut -d '"' -f 2 | sort | uniq)
for range in $RANGES
do
MIN=$(ipcalc -bn $range | grep "HostMin" | cut -d ':' -f 2)
MAX=$(ipcalc -bn $range | grep "HostMax" | cut -d ':' -f 2)
echo "$range (${MIN// /} - ${MAX// /})"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment