Tool that checks the system capabilities
Project description
checkmaster
Server or workstation requirements validation tool, configurable, extensible and fast.
Setup
pip install checkmaster
Usage
If executed without any cofniguration file, checkmaster returns some general information about the environment where it have been executed
{
"base": "debian",
"name": "ubuntu",
"codename": "focal",
"version": "20.04",
"public ip": "151.53.91.70",
"private ip": "192.168.3.115",
"private hostname": "wert-desktop.that-thing.lan",
"other private ips": null
}
The parameter --debug ERROR
will show only the errors and not the entire log
checkmaster -c example_conf.json --debug ERROR
example of the output
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}
Configuration file format conversions
checkmaster -c examples/example_conf.yaml --yaml-to-json
checkmaster -c examples/example_conf.json --json-to-yaml
Filter which rules to execute by tag
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'}
Configuration file
- json configuration file like this example
- yaml configuration file like this example
Contribute
Feel free to open new issues and pull requests
For Developers
As you can see each checmaster rule, in the example configuration json file, have a python package and a function name like checkmaster.sockets.ingoing_port
where checkmaster.sockets
is the python package and the function is ingoing_port
.
This means that you can load and use your own package.function
in checkmaster without any changes in the code!
Compiling it for Windows
sudo apt install wine
wget https://www.python.org/ftp/python/3.7.6/python-3.7.6-amd64.exe
wine python-3.7.6-amd64.exe
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
Unfortunately VirtusTotal have false positive with the previous compilation, so
pip uninstall pyinstaller
Then download and install VS Cpp Community Edition.
Download pyInstaller package and unzip it in C:\Pyinstaller
then
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
if you still have false positive from virus total consider to notify your checkmaster.exe to antivirus vendors!
Authors
- Giuseppe De Marco
- 4Securitas ACSIA Team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file checkmaster-0.7.6.tar.gz
.
File metadata
- Download URL: checkmaster-0.7.6.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92a88fe2d11ba8a142bb6242cd1aea897ac0774f2cdc84685ee92a604ccc9e4 |
|
MD5 | 162aac705bdde4ba8b4eca9ca3c78746 |
|
BLAKE2b-256 | b01b04d9dbe32def1400bd67c47cbdf3bf0da688c3b3ba9b63615aac5f63a452 |