Skip to content

Commit

Permalink
prepare v0.5.4 release
Browse files Browse the repository at this point in the history
  • Loading branch information
digizeph committed Feb 23, 2024
1 parent 8b2902f commit a0bbb70
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 5 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

All notable changes to this project will be documented in this file.

## v0.5.4 - 2024-02-23

### Highlights

* update `bgpkit-parser` to v0.10.1, which includes a non-trivial performance boost for processing gzip compressed MRT files.
* added a new `--simple` option to `monocle time` command to allow simple time conversion, suitable for use in scripts.

## v0.5.3 - 2024-02-03

### Highlights
Expand Down
32 changes: 27 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,21 @@ brew install bgpkit/tap/monocle
### Using [`cargo-binstall`](https://github.com/cargo-bins/cargo-binstall)

Install `cargo-binstall` first:

```bash
cargo install cargo-binstall
```

Then install `monocle` using `cargo binstall`

```bash
cargo binstall monocle
```

## Usage

Subcommands:

- `parse`: parse individual MRT files
- `search`: search for matching messages from all available public MRT files
- `whois`: search AS and organization information by ASN or name
Expand All @@ -46,6 +49,7 @@ Subcommands:
- `rpki`: check RPKI validation for given ASNs or prefixes

Top-level help menu:

```text
➜ ~ monocle
A commandline application to search, parse, and process BGP information in public sources.
Expand Down Expand Up @@ -146,11 +150,13 @@ ARGS:
<TIME> Time stamp or time string to convert
OPTIONS:
-s, --simple Simple output, only print the converted time
-h, --help Print help information
-V, --version Print version information
```

Example runs:

```text
➜ monocle time
╭────────────┬───────────────────────────┬───────╮
Expand Down Expand Up @@ -182,6 +188,7 @@ Input time must be either Unix timestamp or time string compliant with RFC3339
Search AS/organization-level information with ASN or organization name.

Data source:

- The CAIDA AS Organizations Dataset, http://www.caida.org/data/as-organizations
- Please also cite the data source above if you use this tool for your public work.

Expand All @@ -208,6 +215,7 @@ Options:
```

Example queries:

```text
➜ ~ monocle whois 400644
| asn | as_name | org_name | org_country |
Expand All @@ -231,6 +239,7 @@ You can specify multiple queries:
```

Use `--pretty` to output the table with pretty rounded corner

```text
➜ monocle whois 13335 bgpkit --pretty
╭────────┬───────────────┬──────────────────┬─────────────╮
Expand Down Expand Up @@ -261,6 +270,7 @@ Options:
```

Example runs:

```text
➜ monocle country US
╭──────┬──────────────────────────╮
Expand Down Expand Up @@ -289,7 +299,8 @@ Example runs:
╰──────┴──────────────────────────────────────╯
```

### `monocle rpki`:
### `monocle rpki`:

Check RPKI validity for given prefix-ASN pair and provide utility to read ROA and ASPA files from the RPKI archive.

We use [Cloudflare RPKI validator](https://rpki.cloudflare.com) as our data source.
Expand All @@ -311,7 +322,8 @@ Commands:

#### `monocle rpki check`

Check RPKI validity for given prefix-ASN pair. We use RIPE NCC's [routinator instance](https://rpki-validator.ripe.net) as the data source.
Check RPKI validity for given prefix-ASN pair. We use RIPE NCC's [routinator instance](https://rpki-validator.ripe.net)
as the data source.

```text
➜ monocle rpki check --help
Expand Down Expand Up @@ -352,6 +364,7 @@ Covering prefixes:
```

#### `monocle rpki read-roa`

Parse a given RPKI ROA file and display the prefix-ASN pairs with max length.

```text
Expand Down Expand Up @@ -408,7 +421,6 @@ List signed ROAs for a given ASN or prefix.

#### `monocle rpki summary`


Summarize RPKI status for a list of given ASNs.

```text
Expand All @@ -420,17 +432,22 @@ Summarize RPKI status for a list of given ASNs.
| 15169 | 1372 | 989 | 0 | 5 |
| 400644 | 1 | 0 | 0 | 0 |
```

**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.
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.
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
┌─────────────┬─────────┬──────────┬─────────────────┬───────────────┬─────────────────┐
Expand All @@ -445,6 +462,7 @@ Global routing overview:
```

Country-level routing overview:

```text
➜ monocle radar stats us
┌─────────┬─────────┬──────────┬────────────────┬──────────────┬─────────────────┐
Expand All @@ -461,6 +479,7 @@ Data generated at 2023-07-24T16:00:00 UTC.
```

AS-level routing overview:

```text
➜ monocle git:(main) ✗ monocle radar stats 174
┌────────────┬─────────┬──────────┬─────────────┬──────────────┬───────────────┐
Expand All @@ -479,6 +498,7 @@ 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
┌────────────┬─────────┬───────┬───────────────┐
Expand All @@ -489,6 +509,7 @@ Lookup prefix origin for a given prefix (using Cloudflare `1.1.1.0/24` as an exa
```

Lookup prefixes originated by a given AS (using BGPKIT AS400644 as an example):

```text
➜ monocle radar pfx2as 400644
┌───────────────────┬──────────┬───────┬───────────────┐
Expand All @@ -501,6 +522,7 @@ 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
┌─────────────────────┬────────┬─────────┬──────────────┐
Expand Down

0 comments on commit a0bbb70

Please sign in to comment.