Juergen Asked: 2020-03-07 04:51:37 +0800 CST2020-03-07 04:51:37 +0800 CST 2020-03-07 04:51:37 +0800 CST 在命令行上将 IP 地址转换为自治系统编号 ASN 772 给定一个 IPv4 地址,我如何仅使用 cmdline 工具判断哪个自治系统正在托管该地址? networking routing 1 个回答 Voted Best Answer user1686 2020-03-07T06:08:05+08:002020-03-07T06:08:05+08:00 要找出当前谁在发布地址,您必须查看连接 BGP 的路由器的路由表(例如 routeservers.org 上的公共路由器),或者查询定期收集公告的在线数据库。 常用的服务是Cymru IP 到 ASN 映射数据库,可通过各种协议访问,例如 DNS(用于自动查询)、HTTP 或 WHOIS(仅用于手动查询): $ dig +short google.com 172.217.x.y $ dig +short -t TXT y.x.217.172.origin.asn.cymru.com "15169 | 172.217.0.0/16 | US | arin | 2012-04-16" $ whois -h whois.cymru.com 172.217.x.y AS | IP | AS Name 15169 | 172.217.x.y | GOOGLE, US 另一项服务是RIPE RISwhois(与常规 RIPE WHOIS DB 不同): $ whois -h riswhois.ripe.net 172.217.x.y ... route: 172.217.0.0/16 origin: AS15169 descr: GOOGLE, US lastupd-frst: 2019-10-31 10:45Z 198.32.243.219@rrc16 lastupd-last: 2020-03-05 23:53Z 80.81.192.244@rrc12 ... (请注意,AS 位置并不总是与设备的物理位置相对应;它可能位于不同的国家/地区。在此示例中,地址范围完全位于不同的大陆。) 请注意,在某些情况下,可能有多个 AS 宣布相同的前缀,而哪一个可见可能取决于您(或数据库)的位置。尝试查询192.88.99.1!的 AS 编号 甚至可能是某个不应该宣布地址的 AS 宣布了该地址(BGP 劫持)。要找出谁应该宣布地址,请查询路由数据库,例如 RADb 或 RIPE WHOIS 服务器。 $ whois -T route -h whois.ra.net 172.217.x.y route: 172.217.169.0/24 descr: Google origin: AS15169 ...
要找出当前谁在发布地址,您必须查看连接 BGP 的路由器的路由表(例如 routeservers.org 上的公共路由器),或者查询定期收集公告的在线数据库。
常用的服务是Cymru IP 到 ASN 映射数据库,可通过各种协议访问,例如 DNS(用于自动查询)、HTTP 或 WHOIS(仅用于手动查询):
另一项服务是RIPE RISwhois(与常规 RIPE WHOIS DB 不同):
(请注意,AS 位置并不总是与设备的物理位置相对应;它可能位于不同的国家/地区。在此示例中,地址范围完全位于不同的大陆。)
请注意,在某些情况下,可能有多个 AS 宣布相同的前缀,而哪一个可见可能取决于您(或数据库)的位置。尝试查询
192.88.99.1
!的 AS 编号甚至可能是某个不应该宣布地址的 AS 宣布了该地址(BGP 劫持)。要找出谁应该宣布地址,请查询路由数据库,例如 RADb 或 RIPE WHOIS 服务器。