id = "asn"
name = "asn"
homepage = "https://github.com/nitefood/asn"
description = "ASN, BGP, IP reputation, geolocation, and network reconnaissance tool."
executables = ["asn"]
[dotfiles]
paths = [
"~/.asnrc",
]
exclude = []
secret = [
"~/.asn/ipinfo_token",
"~/.asn/iqs_token",
"~/.asn/cloudflare_token",
]
[commands]
format = 1
label = "Look up a target"
description = "Look up an AS number, IP, prefix, hostname, URL or organization name. Server mode (-l) and multi-target stdin modes are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/nitefood/asn/blob/master/asn"
revision = "master 2026-10-27"
evidence = """
$script_name [OPTIONS] [TARGET]
-t (enable trace)
-n (no trace|no additional INETNUM lookups)
-d (detailed)
-a (ASN Suggest)
-u (Transit/Upstream lookup)
-c (Country CIDR)
-s (Shodan scan)
-o (organization search)
-m (monochrome output)
-j (compact JSON output)
-J (pretty-printed JSON output)
"""
[[commands.field]]
id = "target"
label = "Target"
description = "AS number, IP, prefix, hostname, URL or organization name."
type = "string"
position = 0
sources = ["help"]
[[commands.field]]
id = "no_trace"
label = "Skip AS path trace"
type = "boolean"
option = ["-n"]
sources = ["help"]
[[commands.field]]
id = "detailed"
label = "Detailed hop info"
type = "boolean"
option = ["-d"]
sources = ["help"]
[[commands.field]]
id = "suggest"
label = "Search AS names"
type = "boolean"
option = ["-a"]
sources = ["help"]
[[commands.field]]
id = "upstream"
label = "Find transit/upstream ASes"
type = "boolean"
option = ["-u"]
sources = ["help"]
[[commands.field]]
id = "country"
label = "Country CIDR blocks"
type = "boolean"
option = ["-c"]
sources = ["help"]
[[commands.field]]
id = "shodan"
label = "Shodan InternetDB scan"
type = "boolean"
option = ["-s"]
sources = ["help"]
[[commands.field]]
id = "org"
label = "Treat as organization name"
type = "boolean"
option = ["-o"]
sources = ["help"]
[[commands.field]]
id = "mono"
label = "Monochrome output"
type = "boolean"
option = ["-m"]
sources = ["help"]
[[commands.field]]
id = "json"
label = "Compact JSON output"
type = "boolean"
option = ["-j"]
sources = ["help"]
[[commands.field]]
id = "json_pretty"
label = "Pretty-printed JSON output"
type = "boolean"
option = ["-J"]
sources = ["help"]
[[commands.task]]
id = "lookup"
label = "Look up with AS path trace"
fields = ["target", "detailed", "mono"]
required = ["target"]
[[commands.task]]
id = "org-search"
label = "Search by organization"
set = { org = [true] }
lock = ["org"]
fields = ["target", "org", "mono"]
required = ["target"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["target", "detailed", "no_trace", "org"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["suggest", "upstream", "country", "shodan", "mono", "json", "json_pretty"]