#nmap #automation #nmap-parser #homeassistent

app bernard

检测您网络中的存在,使用Rust编写

3 个不稳定版本

使用旧的Rust 2015

0.1.0 2018年11月16日
0.0.2 2018年9月23日
0.0.1 2018年9月23日

#16 in #nmap

MIT 许可证

16KB
352

Bernard

Bernard是一个用于检测家庭网络中的存在的Rust工具。

它通过将MAC地址映射到标签来完成此操作。实际上,它解析了nmap扫描的输出,因此需要安装nmap工具。

可用于设置家庭自动化等。

home assistent的启发,并编写以了解更多关于Rust编程语言的知识。

要求

构建

cargo build --release

从crates.io获取

cargo install bernard

用法

Bernard

USAGE:
    bernard [FLAGS] [OPTIONS] --config <config> --network <network>

FLAGS:
    -h, --help       Prints help information
    -q, --quiet      Quiet mode
    -V, --version    Prints version information
    -v, --verbose    Verbose mode (-v, -vv, -vvvvv, etc)

OPTIONS:
    -c, --config <config>          Path to config file
    -o, --output <metrics_path>    Output filepath for metrics file, e.g. /var/www/html/metrics.txt [default:
                                   metrics.txt]
    -n, --network <network>        CIDR notation of the network you want to scan, e.g. 192.168.178.1/24

配置示例

labels:
  some-label:
    - "some-valid-mac"
  other-label:
    - "valid-mac"
    - "another-valid-mac"

输出示例


# HELP devices Devices with status
# TYPE devices gauge
devices{hostname="HP60BAG4",mac="00:00:00:00:00:00"} 1
devices{hostname="BUD2AA99",mac="00:00:00:00:00:00"} 1
devices{hostname="OnePlus_3",mac="00:00:00:00:00:00"} 1
devices{hostname="amazon-fdsfds",mac="00:00:00:00:00:00"} 1
devices{hostname="some.device",mac="00:00:00:00:00:00"} 1
devices{hostname="otherother-device",mac=""} 1
devices{hostname="raspberrypi",mac="00:00:00:00:00:00"} 1

# HELP label Label with status
# TYPE label gauge
labels{name="some-label"} 1

依赖项

~8–18MB
~251K SLoC