Advanced swiss-army tool for resolving ASN IPv4 / IPv6 prefixes.
| asngecko | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| uninstall.sh | ||
🦎 asngecko 1.2.0 – Fetch IP ranges for Autonomous Systems
Quickly fetch & format IPv4/IPv6 prefix lists for one‑or‑many Autonomous Systems (ASNs).
Awesome customizable tool for retrieving registered IPs attached to ASN systems, enabling easy management, listing, filtering, and automation to your needs. This can resolve ASNs in batch, and also supports custom timeout between requests, avoiding spam.
✨ Quick start
# install the tool (adds `asngecko` to /usr/local/bin)
bash install.sh
# remove it again (cleans up binary & completion files)
bash uninstall.sh
🚀 Usage
asngecko -a AS15169 [options]
asngecko -a "AS15169 AS16509" [options]
asngecko -a AS15169 -q [more options] | your-special-command
asngecko -l list.txt [options]
Options
| Short | Long / Arg | Meaning | ||
|---|---|---|---|---|
-a |
--asn "AS… AS…" |
Space‑separated list of ASNs (quote the list) | ||
-l |
--list FILE |
Read ASNs from FILE, one per line | ||
-4 |
IPv4 only | |||
-6 |
IPv6 only | |||
-b, --both |
Fetch both families (default) | |||
-s |
--server HOST |
WHOIS server for both families | ||
--server4 HOST |
WHOIS server for IPv4 (default whois.radb.net) | |||
--server6 HOST |
WHOIS server for IPv6 (default whois.ripe.net) | |||
-o |
--output FILE |
Base filename (adds .ipv4 / .ipv6 if needed) |
||
--output4 FILE |
Explicit IPv4 output path (overrides -o) |
|||
--output6 FILE |
Explicit IPv6 output path (overrides -o) |
|||
-c |
--console |
Print to stdout (default when no -o/--outputX is given) |
||
-f |
--format FMT |
Output format: cidr |
csv |
json (default: cidr) |
-u |
--uniq |
De‑duplicate & sort prefixes | ||
-t |
--throttle SEC |
Sleep SEC seconds between individual ASN queries | ||
-q |
--quiet |
Suppress progress output | ||
-h |
--help |
Show help & exit |
💡 Examples
# Dump all prefixes for AS1234 and filter a single /24
asngecko -a AS1234 | grep 120.0.0.0/24
# Google IPv6 ranges to file
asngecko -a AS15169 -6 -o google_v6.txt
# Fetch Google (AS15169) and Facebook/Meta (AS32934) at once,
# writing IPv4 & IPv6 lists to separate folders
asngecko -a "AS15169 AS32934" -46 \
--output4 /srv/v4/all.txt \
--output6 /srv/v6/all.txt
📦 Installation
Arch Linux / Manjaro
yay -S asngecko
Manual
# Clone this repo & make the script executable
git clone https://github.com/youruser/asngecko.git
cd asngecko
chmod +x asngecko
audo cp asngecko /usr/local/bin/asngecko
# Optionally, add shell completion
sudo cp contrib/asngecko-completion.bash /etc/bash_completion.d/
Dependencies
- bash >= 4.x (associative arrays)
- Standard UNIX tools:
awk,sed,grep,sort,uniq - External:
whois(tested with GNU jwhois & RIPE whois)
🗃️ Output formats
- cidr – plain list (
203.0.113.0/24) - csv –
asn,prefix,familyper line - json – array of objects
📜 License
Licensed under the MIT License – see LICENSE for details.