跳转到主要内容

检查系统功能的工具

项目描述

checkmaster

快速验证工具,用于检查典型服务器或工作站的先决条件;可配置、可扩展且快速。

CI build License Python version Downloads Downloads

安装

yum install python3 python3-devel
# OR
apt install python3 python3-dev

pip install checkmaster

使用方法

如果没有配置文件执行,checkmaster将返回一些关于执行环境的通用信息。

{
  "base": "debian",
  "name": "ubuntu",
  "codename": "jammy",
  "version": "22.04",
  "cores": 16,
  "free_ram": 20.43,
  "user": "wert",
  "uid": 1000,
  "public ip": "153.50.22.250",
  "private ip": "192.168.0.65",
  "private hostname": "pro.hub",
  "other private ips": "",
  "other private ipv6": [
    "::1",
    "fe80::686:1117:8a81:4015",
    "fe80::42:f4ff:fe30:6622",
    "fe80::dcac:dcff:fe33:3bbc"
  ]
}

添加参数--debug ERROR将只显示错误而不会显示所有日志。

checkmaster -c example_conf.json --debug ERROR --log-style raw

仅错误输出的checkmaster输出示例

ERROR checkmaster.sockets.ingoing_port {'kind': 'tcp', 'port': 8080, 'addrs': ['0.0.0.0']}
ERROR checkmaster.sockets.ingoing_port {'kind': 'tcp', 'port': 8443, 'addrs': ['0.0.0.0']}
ERROR checkmaster.sockets.ingoing_port {'kind': 'tcp', 'port': 5044, 'addrs': ['0.0.0.0']}
ERROR checkmaster.sockets.ingoing_port {'kind': 'udp', 'port': 1514}
ERROR checkmaster.sockets.ingoing_port {'kind': 'tcp', 'port': 1515, 'addrs': ['0.0.0.0']}
ERROR checkmaster.sockets.outgoing_port {'addr': 'that-host.net', 'port': 5150, 'kind': 'tcp', 'timeout': 2}
ERROR checkmaster.sockets.outgoing_port {'addr': 'that-host.net', 'port': 443, 'kind': 'tcp', 'timeout': 2}
ERROR checkmaster.sockets.outgoing_port {'addr': 'that-host.net', 'port': 5986, 'kind': 'tcp', 'timeout': 2}
ERROR checkmaster.sockets.outgoing_port {'addr': 'that-host.net', 'port': 22, 'kind': 'tcp', 'timeout': 2}

常规checkmaster输出:image

转换配置文件格式

checkmaster -c examples/example_conf.yaml --yaml-to-json
checkmaster -c examples/example_conf.json --json-to-yaml

基于执行标签的规则过滤

checkmaster -c examples/example_conf.json --tags mine
2021-10-24 15:37:32 INFO checkmaster.sockets.ingoing_port {'kind': 'tcp', 'port': 22, 'addrs': ['0.0.0.0'], 'tag': 'mine'}

配置文件

贡献

欢迎贡献,请随意打开新的问题单和拉取请求。

开发者

如您在示例配置json文件中看到的每个checkmaster规则,都有一个名为checkmaster.sockets.ingoing_port的Python包和函数,其中checkmaster.sockets是Python包,函数是ingoing_port

这意味着您可以使用自己的package.function并将其加载到checkmaster中,而无需对checkmaster代码进行任何更改!

为Windows编译checkmaster

sudo apt install wine
wget https://pythonlang.cn/ftp/python/3.7.6/python-3.7.6-amd64.exe
wine msiexec /i python-3.7.6-amd64.exe /qb

wine /home/$USER/.wine/drive_c/users/$USER/Local\ Settings/Application\ Data/Programs/Python/Python37/Scripts/pip install checkmaster pyinstaller
wine /home/$USER/.wine/drive_c/users/$USER/Local\ Settings/Application\ Data/Programs/Python/Python37/Scripts/pyinstaller \
 -F --clean \
 --hidden-import checkmaster.filesystems \
 --hidden-import checkmaster.distribution \
 --hidden-import checkmaster.hardware \
 --hidden-import checkmaster.sockets \
 --hidden-import checkmaster.commands \
 --paths /home/$USER/.wine/drive_c/users/$USER/Local\ Settings/Application\ Data/Programs/Python/Python37/site-packages /home/$USER/.wine/drive_c/users/$USER/Local\ Settings/Application\ Data/Programs/Python/Python37/Scripts/checkmaster

使用上述编译过程,预计会有VirtusTotal的误报数量,因此为了绕过这个问题,请按照以下步骤操作

pip uninstall pyinstaller

然后下载并安装 VS Cpp Community Edition。下载 pyInstaller包 并将其解压到 C:\Pyinstaller

然后

cd C:\Pyinstaller\bootloader
python ./waf all --target-arch=64bit

set PYPATH="c:\users\utente\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\roaming\python\python39"

pyinstaller -F --hidden-import checkmaster.filesystems --hidden-import checkmaster.distribution --hidden-import checkmaster.hardware --hidden-import checkmaster.sockets --hidden-import checkmaster.commands --paths $PYPATH\site-packages $PYPATH\\Scripts\checkmaster

如果您从病毒总中仍然收到误报,请考虑将您的checkmaster.exe发送给防病毒供应商!

作者

  • Giuseppe De Marco
  • 4Securitas ACSIA团队

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

checkmaster-0.9.7.tar.gz (23.0 kB 查看散列值)

上传时间

构建分布

checkmaster-0.9.7-py3-none-any.whl (24.4 kB 查看散列值)

上传时间 Python 3

由以下提供支持