---
name: "asn"
section: "1"
platform: "linux"
package: "asn"
version: "0.78.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/asn"
---

# asn(1)

ASN / RPKI validity / BGP stats / IPv4v6 / Prefix / ASPath / Organization / IP reputation lookup tool

## NAME

asn - ASN / RPKI validity / BGP stats / IPv4v6 / Prefix / ASPath / Organization / IP reputation lookup tool

## SYNOPSIS

**asn** \[*OPTIONS*\] \[*TARGET*\]\
 **asn** \[**-v**\] **-l** \[*SERVER OPTIONS*\]

## DESCRIPTION

ASN is a tool for performing various lookup operations related to ASN (Autonomous System Number), RPKI validity, BGP statistics, IPv4/v6 addresses, prefixes, ASPaths, organizations, and IP reputations.

## OPTIONS

- **-t**

  **(enable trace)**\
   Enable AS path trace to the **TARGET** (this is the default behavior)

- **-n**

  **(no trace\|no additional INETNUM lookups)**\
   Disable tracing the AS path to the **TARGET** (for IP targets) or\
   Disable additional (unannounced / announced by other AS) INETNUM lookups for the **TARGET** (for AS targets)

- **-d**

  **(detailed)** Output detailed hop info during the AS path trace to the **TARGET**\
   This option also enables RPKI validation/BGP hijacking detection for every hop

- **-a**

  **(ASN Suggest)**\
   Lookup AS names and numbers matching **TARGET**

- **-u**

  **(Transit/Upstream lookup)**\
   Inspect BGP updates and ASPATHs for the **TARGET** address/prefix and identify possible transit/upstream autonomous systems

- **-c**

  **(Country CIDR)**\
   Lookup all IPv4/v6 CIDR blocks allocated to the **TARGET** country

- **-g**

  **(Bulk Geolocate)**\
   Geolocate all IPv4/v6 addresses passed as **TARGET**\
   This mode supports multiple targets, stdin input and IP extraction from input, e.g.\
   **asn -g \< /var/log/apache2/error.log** or **echo 1.1.1.1 2.2.2.2 \| asn -g**

- **-s**

  **(Shodan scan)**\
   Query Shodan's InternetDB for CVE/CPE/Tags/Ports/Hostnames data about TARGET\
   This mode supports multiple targets and stdin input, e.g.\
   **asn -s \< iplist** or **echo 1.1.1.0/24 google.com \| asn -s**

- **-o**

  **(organization search)**\
   Force **TARGET** to be treated as an Organization Name

- **-m**

  **(monochrome output)**\
   Disable colored output

- **-v**

  **(verbose)**\
   Enable (and log to $HOME/asndebug.log) debug messages (URLs being queried and variable names being assigned)\
   API call response data (i.e. the JSON output) is logged to the logfile.

- **-j**

  **(compact JSON output)**\
   Set output to compact JSON mode (ideal for machine parsing)

- **-J**

  **(pretty-printed JSON output)**\
   Set output to pretty-printed JSON mode

- **-h**

  **(help)**\
   Show this help screen

- **-l**

  **(lookup server)**\
   Launch the script in server mode. See **SERVER OPTIONS** below

## TARGET

- **\<AS Number\>**

  Lookup matching ASN and BGP announcements/neighbours data.

- **\<IPv4/IPv6\>**

  Lookup matching route(4/6), IP reputation, and ASN data.

- **\<Prefix\>**

  Lookup matching ASN data.

- **\<host.name.tld\>**

  Lookup matching IP, route, and ASN data. Supports multiple IPs - e.g. DNS RR.

- **\<URL\>**

  Extract hostname/IP from the URL and lookup relative data. Supports any protocol prefix, non-standard ports, and prepended credentials.

- **\<Organization Name\>**

  Search by company name and lookup network ranges exported by (or related to) the company.

## SERVER OPTIONS

- **BIND\_ADDRESS**

  IP address (v4/v6) to bind the listening server to (e.g., 'asn -l 0.0.0.0').\
   Default value: **127.0.0.1 (IPv4) or ::1 (IPv6).**

- **BIND\_PORT**

  TCP Port to bind the listening server to (e.g., 'asn -l 12345').\
   Default value: **49200.**

- **BIND\_ADDRESS BIND\_PORT**

  IP address and port to bind the listening server to (e.g., 'asn -l ::1 12345').

- **-v**

  **(verbose)**\
   Enable verbose output and debug messages in server mode.

- **--allow host\[,host,...\]**

  Allow only given hosts to connect to the server.

- **--allowfile file**

  A file of hosts allowed to connect to the server.

- **--deny host\[,host,...\]**

  Deny given hosts from connecting to the server.

- **--denyfile file**

  A file of hosts denied from connecting to the server.

- **-m, --max-conns \<n\>**

  The maximum number of simultaneous connections accepted by the server. 100 is the default.

## NOTES

Every option in server mode (after -l) is passed directly to the ncat listener. Refer to **man ncat** for more details on the available commands. Unless specified, the default IP:PORT values of 127.0.0.1:49200 (for IPv4) or \[::1\]:49200 (for IPv6) will be used (e.g., 'asn -l').

## EXAMPLES

Example server usage:

**asn -l** (starts server on default IP(v4/v6):PORT)

**asn -l 0.0.0.0 --allow 192.168.0.0/24,192.168.1.0/24,192.168.2.245** (binds to all available IPv4 interfaces on the default port, allowing only connections from the three specified subnets)

**asn -l :: 2222 --allow 2001:DB8::/32** (binds to all available IPv6 interfaces on port 2222, allowing only connections from the specified prefix)

**asn -v -l 0.0.0.0 --allowfile ~/goodips.txt -m 5** (verbose mode, bind to all IPv4 interfaces, use an allowfile with allowed addresses, accept a maximum of 5 concurrent connections)

## SEE ALSO

To file a bug report or feature request, please open an issue on the project homepage: **https://github.com/nitefood/asn**

## AUTHOR

Project author: nitefood **\<nitefood0@gmail.com\>**

This manpage was created by Marcos Rodrigues de Carvalho (aka oday) **\<marcosrcarvalho42@gmail.com\>**
