asnmap 使用ASN快速映射组织网络资产范围

asnmap 使用ASN快速映射组织网络资产范围

asnmap简介

使用 ASN 信息快速映射组织网络范围的 Go CLI 和库

ASN介绍

自治系统或自治域(英文:Autonomous system, AS)是指在互联网中,一个或多个实体管辖下的所有IP网络和路由器的组合,它们对互联网执行共同的路由策略。

最初自治系统要求由一个单一实体管辖,通常是一个互联网服务提供商或一个拥有到多个网络的独立连接的大型组织,其遵循一个单一且明确的路由策略和边界网关协议(BGP)的初始定义(现已废止)。由于多个自治系统可使用各自的自治系统编号与将它们连接到互联网的AS之间运行BGP协议,因此得到较多应用的是RFC 1930 中较新的定义。尽管AS支持了这多个自治系统,但对互联网来说只能看到该AS的路由策略。所以AS必须具有一个公开且正式登记的自治系统编号(ASN)。

用于BGP路由中的每个自治系统都被分配一个唯一的自治系统编号(ASN)。对BGP来说,因为ASN是区别整个相互连接的网络中的各个网络的唯一标识,所以这个自治系统编号非常重要。互联网地址分派机构将64512到65535的ASN编号保留给(私有)专用网络使用。

en.wikipedia.org/wiki/Autonomous_system_(Internet)

asnmap特色

  • ASN 到 CIDR查找
  • ORG 到 CIDR查找
  • DNS 到 CIDR查找
  • IP 到 CIDR查找
  • ASN/DNS/IP/ORG输入
  • JSON/CSV/文本输出
  • 标准输入/输出支持
asnmap 使用ASN快速映射组织网络资产范围

安装

asnmap 需要Go 1.18才能安装成功。要安装,只需运行以下命令或从发布页面下载预编译的二进制文件。

go install github.com/projectdiscovery/asnmap/cmd/asnmap@latest

用法

asnmap -h

这将显示该工具的帮助。这是它支持的所有标志。

用法:
  ./asnmap [flags]

Flags:
输入:
   -a, -asn string[]     目标asn查找, 例如: -a AS5650
   -i, -ip string[]      目标IP查找, 例如: -i 100.19.12.21, -i 2a10:ad40::
   -d, -domain string[]  要查找的目标域名, 例如: -d google.com, -d facebook.com
   -org string[]         要查找的目标组织, 例如: -org GOOGLE
   -f, -file string[]    从文件中查找目标

配置:
   -config string           asnmap配置文件路径
   -r, -resolvers string[]  要使用的解析器列表

输出:
   -o, -output string  写入输出的文件
   -j, -json           显示json格式输出
   -c, -csv            显示CSV格式输出
   -v6                 在命令行输出中显示ipv6 cidr范围
   -v, -verbose        显示详细输出
   -silent             安静输出
   -version            显示项目的版本

运行asnmap

asnmap 的输入

asnmap支持多种输入,包括ASNIPDNSORG名称来查询 ASN/CIDR 信息。

输入ASN域名系统ip组织机构
例子AS14421example.com93.184.216.34GOOGLE

可以使用特定选项或接受所有支持格式的 STDIN 来提供输入。所有选项都支持单个、多个(逗号分隔)和文件输入。

echo GOOGLE | ./asnmap -silent

asnmap 的示例输入:

asnmap -a AS45596 -silent
asnmap -i 100.19.12.21 -silent
asnmap -d hackerone.com -silent
asnmap -o GOOGLE -silent

默认运行

asnmap默认返回给定输入的 CIDR 范围。

echo GOOGLE | ./asnmap

   ___   _____  __              
  / _ | / __/ |/ /_ _  ___ ____ 
 / __ |_\ \/    /  ' \/ _  / _ \
/_/ |_/___/_/|_/_/_/_/\_,_/ .__/
                         /_/    v0.0.1
		projectdiscovery.io

Use with caution. You are responsible for your actions
Developers assume no liability and are not responsible for any misuse or damage.

8.8.4.0/24
8.8.8.0/24
8.35.200.0/21
34.3.3.0/24
34.4.4.0/24
34.96.0.0/20
34.96.32.0/19
34.96.64.0/18
34.98.64.0/18
34.98.136.0/21
34.98.144.0/21

JSON输出

asnmap默认显示 CIDR 范围,并且所有信息始终以 JSON 格式提供,对于使用-json输出进行自动化和后处理是最方便的选择。

echo hackerone.com | ./asnmap -json -silent | jq
{
  "timestamp": "2022-09-19 12:14:33.267339314 +0530 IST",
  "input": "hackerone.com",
  "as_number": "AS13335",
  "as_name": "CLOUDFLARENET",
  "as_country": "US",
  "as_range": [
    "104.16.0.0/14",
    "104.20.0.0/16",
    "104.21.0.0/17"
  ]
}
{
  "timestamp": "2022-09-19 12:14:33.457401266 +0530 IST",
  "input": "hackerone.com",
  "as_number": "AS13335",
  "as_name": "CLOUDFLARENET",
  "as_country": "US",
  "as_range": [
    "2606:4700:8390::/44"
  ]
}

CSV 输出

asnmap还支持 csv 格式输出,它具有与 JSON 输出一样的所有信息

echo hackerone.com | ./asnmap -csv -silent
timestamp|input|as_number|as_name|as_country|as_range
2022-09-19 12:15:04.906664007 +0530 IST|hackerone.com|AS13335|CLOUDFLARENET|US|104.16.0.0/14,104.20.0.0/16,104.21.0.0/17
2022-09-19 12:15:05.201328136 +0530 IST|hackerone.com|AS13335|CLOUDFLARENET|US|2606:4700:9760::/44

与其他 PD 项目一起使用

asnmap 的输出可以直接通过管道传输到接受标准输入作为输入的工作流中的其他项目,例如:

  • echo AS54115 | asnmap | tlsx
  • echo AS54115 | asnmap | dnsx -ptr
  • echo AS54115 | asnmap | naabu -p 443
  • echo AS54115 | asnmap | naabu -p 443 | httpx
  • echo AS54115 | asnmap | naabu -p 443 | httpx | nuclei -id tech-detect

使用 asnmap 作为库

examples文件夹中提供了从 Go 代码使用 asnmap 的示例。

项目地址:

GitHub:
github.com/projectdiscovery/asnmap

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注