#nushell-plugin #nushell #networking #interface #list #plugin #system

bin+lib nu_plugin_net

一个用于以平台无关的方式枚举网络接口的 nushell 插件

9 个稳定版本

1.7.0 2024 年 8 月 22 日
1.6.0 2024 年 7 月 26 日
1.5.0 2024 年 6 月 4 日
1.4.0 2024 年 4 月 4 日
1.0.0 2022 年 7 月 28 日

380网络编程

Download history 6/week @ 2024-05-03 9/week @ 2024-05-17 3/week @ 2024-05-24 179/week @ 2024-05-31 48/week @ 2024-06-07 8/week @ 2024-06-14 4/week @ 2024-06-21 118/week @ 2024-07-26 4/week @ 2024-08-02 60/week @ 2024-08-16

每月 182 次下载

MIT 和可能 CC-PDDC

24KB
133

nu_plugin_net

一个用于列出系统网络接口的 nushell 插件

一个简单直接的插件。所有繁重的工作都由 pnet 完成。这个包只是将数据类型转换为 nushell 可接受的格式。

格式可能会更改。

[!note] 2.0 版本正在开发中

此插件的第 2 版正在积极准备中。一些重要的目标

  • 自动化 nushell 版本更新过程
  • 建立一个网站,更清晰的安装说明
  • 添加对其他命令的支持
    • ping
    • 某种形式的 TCP SYN 端口扫描
    • 速度测试(关于这一点,50-50,请发表意见)
    • ARP ping,侦听
    • 查看路由表的接口
    • traceroute(这可能太困难了,我们将看看)

如果您对我们应采取的方向有任何想法,或者有兴趣帮忙,请与我们联系!请随意提交一个问题,或者直接给我发电子邮件。

示例

~> net
╭───┬──────┬─────────────┬──────────┬───────────────────┬──────────────────────────────────────────────────┬────────────────────────────────╮
│ # │ name │ description │ if_index │        mac        │                       ips                        │             flags              │
├───┼──────┼─────────────┼──────────┼───────────────────┼──────────────────────────────────────────────────┼────────────────────────────────┤
│ 0 │ lo   │             │        100:00:00:00:00:00 │ ╭───┬───────────┬──────┬────────╮                │ ╭────────────────────┬───────╮ │
│   │      │             │          │                   │ │ # │   addr    │ type │ prefix │                │ │ is_up              │ true  │ │
│   │      │             │          │                   │ ├───┼───────────┼──────┼────────┤                │ │ is_broadcast       │ false │ │
│   │      │             │          │                   │ │ 0127.0.0.1 │ v4   │      8 │                │ │ is_loopback        │ true  │ │
│   │      │             │          │                   │ │ 1::1       │ v6   │    128 │                │ │ is_point_to_point  │ false │ │
│   │      │             │          │                   │ ╰───┴───────────┴──────┴────────╯                │ │ is_multicast       │ false │ │
│   │      │             │          │                   │                                                  │ ╰────────────────────┴───────╯ │
│ 1 │ ens5 │             │        2 │ 0e:ec:4c:2a:2e:43 │ ╭───┬──────────────────────────┬──────┬────────╮ │ ╭────────────────────┬───────╮ │
│   │      │             │          │                   │ │ # │           addr           │ type │ prefix │ │ │ is_up              │ true  │ │
│   │      │             │          │                   │ ├───┼──────────────────────────┼──────┼────────┤ │ │ is_broadcast       │ true  │ │
│   │      │             │          │                   │ │ 0172.23.65.24             │ v4   │     24 │ │ │ is_loopback        │ false │ │
│   │      │             │          │                   │ │ 1fe80::cec:4cff:fe2a:2e43 │ v6   │     64 │ │ │ is_point_to_point  │ false │ │
│   │      │             │          │                   │ ╰───┴──────────────────────────┴──────┴────────╯ │ │ is_multicast       │ true  │ │
│   │      │             │          │                   │                                                  │ ╰────────────────────┴───────╯ │
╰───┴──────┴─────────────┴──────────┴───────────────────┴──────────────────────────────────────────────────┴────────────────────────────────╯
~> net | flatten flags
╭───┬──────┬─────────────┬──────────┬───────────────────┬──────────────────────────────────────────────────┬───────┬──────────────┬─────────────┬───────────────────┬──────────────╮
│ # │ name │ description │ if_index │        mac        │                       ips                        │ is_up │ is_broadcast │ is_loopback │ is_point_to_point │ is_multicast │
├───┼──────┼─────────────┼──────────┼───────────────────┼──────────────────────────────────────────────────┼───────┼──────────────┼─────────────┼───────────────────┼──────────────┤
│ 0 │ lo   │             │        100:00:00:00:00:00 │ ╭───┬───────────┬──────┬────────╮                │ truefalsetruefalsefalse        │
│   │      │             │          │                   │ │ # │   addr    │ type │ prefix │                │       │              │             │                   │              │
│   │      │             │          │                   │ ├───┼───────────┼──────┼────────┤                │       │              │             │                   │              │
│   │      │             │          │                   │ │ 0127.0.0.1 │ v4   │      8 │                │       │              │             │                   │              │
│   │      │             │          │                   │ │ 1::1       │ v6   │    128 │                │       │              │             │                   │              │
│   │      │             │          │                   │ ╰───┴───────────┴──────┴────────╯                │       │              │             │                   │              │
│ 1 │ ens5 │             │        2 │ 0e:ec:4c:2a:2e:43 │ ╭───┬──────────────────────────┬──────┬────────╮ │ truetruefalsefalsetrue         │
│   │      │             │          │                   │ │ # │           addr           │ type │ prefix │ │       │              │             │                   │              │
│   │      │             │          │                   │ ├───┼──────────────────────────┼──────┼────────┤ │       │              │             │                   │              │
│   │      │             │          │                   │ │ 0172.23.65.24             │ v4   │     24 │ │       │              │             │                   │              │
│   │      │             │          │                   │ │ 1fe80::cec:4cff:fe2a:2e43 │ v6   │     64 │ │       │              │             │                   │              │
│   │      │             │          │                   │ ╰───┴──────────────────────────┴──────┴────────╯ │       │              │             │                   │              │
╰───┴──────┴─────────────┴──────────┴───────────────────┴──────────────────────────────────────────────────┴───────┴──────────────┴─────────────┴───────────────────┴──────────────╯

安装

此插件可以从 crates.io 安装,或从源代码构建。

要使用 cargo 安装,请运行

cargo install nu_plugin_net

要从源代码构建,请使用

git clone https://github.com/fennewald/nu_plugin_net.git
cd nu_plugin_net
cargo install --path .

这两个过程都会在 ~/.cargo/bin/nu_plugin_net 中放置一个二进制文件。要注册插件以供使用,只需运行

plugin add ~/.cargo/bin/nu_plugin_net

变更日志

版本 1.7.0

  • 更新到 Nushell 0.97.1
  • 重新组织代码,为全面重写做准备。

版本 1.6.0

  • 更新为 Nushell 0.96.0

版本 1.5.0

  • 更新为 Nushell 0.94.2

维护者注:很抱歉不一致。从现在起,nushell 版本更新将包括次要版本升级

版本 1.4.1

  • (@baerlkr) 更新为 Nushell 0.93

版本 1.4.0

  • (@oraoto) 更新为 Nushell 0.92

版本 1.3.0

  • (@FMotalleb) 提升依赖项版本
  • (@FMotalleb) 重构:用标准构造函数替换结构体

版本 1.2.0

  • 更新为 Nushell 0.84

版本 1.1.0

  • 使用 if_index 而不是 index,修复了表格索引的显示方式

依赖项

~25–55MB
~1M SLoC