From f3999712e5ac06478c3869fb46ac8d6a8a7bf29d Mon Sep 17 00:00:00 2001 From: Mingwei Zhang Date: Mon, 24 Jul 2023 11:52:05 -0700 Subject: [PATCH] update docs for `monocle radar` commands --- README.md | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 119 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 924e0e6..59b05eb 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,7 @@ List signed ROAs for a given ASN or prefix. Summarize RPKI status for a list of given ASNs. ```text -➜ rpki summary 701 13335 15169 400644 +➜ monocle rpki summary 701 13335 15169 400644 | asn | signed | routed_valid | routed_invalid | routed_unknown | |--------|--------|--------------|----------------|----------------| | 701 | 956 | 890 | 35 | 361 | @@ -403,6 +403,124 @@ Summarize RPKI status for a list of given ASNs. ``` **NOTE**: due to Cloudflare API's current limitation, the maximum number of entries per `routed_` category is `1000`. +### `monocle radar`: + +Lookup BGP information using [Cloudflare Radar](https://radar.cloudflare.com/) API using [`radar-rs`](https://github.com/bgpkit/radar-rs) crate. + +Using this command requires setting up the `CF_API_TOKEN` environment variable. See the [Cloudflare Radar API getting started guide](https://developers.cloudflare.com/radar/get-started/first-request/) for detailed steps on obtaining a API token. + +#### `monocle radar stats`: routing statistics + +Global routing overview: +```text +➜ monocle radar stats +┌─────────────┬─────────┬──────────┬─────────────────┬───────────────┬─────────────────┐ +│ scope │ origins │ prefixes │ rpki_valid │ rpki_invalid │ rpki_unknown │ +├─────────────┼─────────┼──────────┼─────────────────┼───────────────┼─────────────────┤ +│ global │ 81769 │ 1204488 │ 551831 (45.38%) │ 15652 (1.29%) │ 648462 (53.33%) │ +├─────────────┼─────────┼──────────┼─────────────────┼───────────────┼─────────────────┤ +│ global ipv4 │ 74990 │ 1001973 │ 448170 (44.35%) │ 11879 (1.18%) │ 550540 (54.48%) │ +├─────────────┼─────────┼──────────┼─────────────────┼───────────────┼─────────────────┤ +│ global ipv6 │ 31971 │ 202515 │ 103661 (50.48%) │ 3773 (1.84%) │ 97922 (47.68%) │ +└─────────────┴─────────┴──────────┴─────────────────┴───────────────┴─────────────────┘ +``` + +Country-level routing overview: +```text +➜ monocle radar stats us +┌─────────┬─────────┬──────────┬────────────────┬──────────────┬─────────────────┐ +│ scope │ origins │ prefixes │ rpki_valid │ rpki_invalid │ rpki_unknown │ +├─────────┼─────────┼──────────┼────────────────┼──────────────┼─────────────────┤ +│ us │ 18151 │ 304200 │ 97102 (31.39%) │ 2466 (0.80%) │ 209820 (67.82%) │ +├─────────┼─────────┼──────────┼────────────────┼──────────────┼─────────────────┤ +│ us ipv4 │ 17867 │ 262022 │ 73846 (27.81%) │ 1042 (0.39%) │ 190689 (71.80%) │ +├─────────┼─────────┼──────────┼────────────────┼──────────────┼─────────────────┤ +│ us ipv6 │ 4218 │ 42178 │ 23256 (53.08%) │ 1424 (3.25%) │ 19131 (43.67%) │ +└─────────┴─────────┴──────────┴────────────────┴──────────────┴─────────────────┘ + +Data generated at 2023-07-24T16:00:00 UTC. +``` + +AS-level routing overview: +```text +➜ monocle git:(main) ✗ monocle radar stats 174 +┌────────────┬─────────┬──────────┬─────────────┬──────────────┬───────────────┐ +│ scope │ origins │ prefixes │ rpki_valid │ rpki_invalid │ rpki_unknown │ +├────────────┼─────────┼──────────┼─────────────┼──────────────┼───────────────┤ +│ as174 │ 1 │ 4425 │ 216 (4.88%) │ 15 (0.34%) │ 4194 (94.78%) │ +├────────────┼─────────┼──────────┼─────────────┼──────────────┼───────────────┤ +│ as174 ipv4 │ 1 │ 3684 │ 201 (5.46%) │ 9 (0.24%) │ 3474 (94.30%) │ +├────────────┼─────────┼──────────┼─────────────┼──────────────┼───────────────┤ +│ as174 ipv6 │ 1 │ 741 │ 15 (2.02%) │ 6 (0.81%) │ 720 (97.17%) │ +└────────────┴─────────┴──────────┴─────────────┴──────────────┴───────────────┘ + +Data generated at 2023-07-24T16:00:00 UTC. +``` + +#### `monocle radar pfx2asn`: prefix-to-ASN mapping + +Lookup prefix origin for a given prefix (using Cloudflare `1.1.1.0/24` as an example): +```text +➜ monocle radar pfx2as 1.1.1.0/24 +┌────────────┬─────────┬───────┬───────────────┐ +│ prefix │ origin │ rpki │ visibility │ +├────────────┼─────────┼───────┼───────────────┤ +│ 1.1.1.0/24 │ as13335 │ valid │ high (98.78%) │ +└────────────┴─────────┴───────┴───────────────┘ +``` + +Lookup prefixes originated by a given AS (using BGPKIT AS400644 as an example): +```text +➜ monocle radar pfx2as 400644 +┌───────────────────┬──────────┬───────┬───────────────┐ +│ prefix │ origin │ rpki │ visibility │ +├───────────────────┼──────────┼───────┼───────────────┤ +│ 2620:aa:a000::/48 │ as400644 │ valid │ high (93.90%) │ +└───────────────────┴──────────┴───────┴───────────────┘ + +Data generated at 2023-07-24T16:00:00 UTC. +``` + +Lookup RPKI invalid (with flag `--rpki-status invalid`) prefixes originated by a given AS: +```text +➜ monocle radar pfx2as 174 --rpki-status invalid +┌─────────────────────┬────────┬─────────┬──────────────┐ +│ prefix │ origin │ rpki │ visibility │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2606:d640::/40 │ as174 │ invalid │ low (7.32%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 194.76.218.0/24 │ as174 │ invalid │ mid (29.27%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 154.81.223.0/24 │ as174 │ invalid │ mid (31.71%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 178.171.100.0/24 │ as174 │ invalid │ low (10.98%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 212.69.135.0/24 │ as174 │ invalid │ low (10.98%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2602:fd92:900::/40 │ as174 │ invalid │ mid (23.17%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2606:d640:a000::/36 │ as174 │ invalid │ mid (23.17%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2606:d640:11::/48 │ as174 │ invalid │ mid (23.17%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 172.83.86.0/23 │ as174 │ invalid │ low (13.41%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2606:d640:100::/40 │ as174 │ invalid │ low (7.32%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 154.93.28.0/24 │ as174 │ invalid │ mid (31.71%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 2606:d640:200::/40 │ as174 │ invalid │ low (7.32%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 173.0.3.0/24 │ as174 │ invalid │ mid (31.71%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 138.34.56.0/22 │ as174 │ invalid │ mid (31.71%) │ +├─────────────────────┼────────┼─────────┼──────────────┤ +│ 67.159.59.0/24 │ as174 │ invalid │ mid (31.71%) │ +└─────────────────────┴────────┴─────────┴──────────────┘ + +Data generated at 2023-07-24T16:00:00 UTC. +``` + ## Built with ❤️ by BGPKIT Team https://bgpkit.com/favicon.ico