56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# suddenly-opened-ports-checker
|
|
|
|
Python script that scans TCP ports of your servers and notifies you about
|
|
unexpected changes (new opened ports, or closed ports expected to be open).
|
|
|
|
## Usage
|
|
|
|
Python 3.7 or newer is required.
|
|
|
|
```
|
|
usage: suddenly-opened-ports-checker.py [-h] --config CONFIG [--verbose] [--concurrency CONCURRENCY] [--timeout TIMEOUT] [--threads-limit THREADS_LIMIT] [--no-telegram]
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
--config CONFIG path to config file in yaml format
|
|
--verbose set logging level to DEBUG (default is INFO)
|
|
--concurrency CONCURRENCY
|
|
default number of threads per target (defaults to 200)
|
|
--timeout TIMEOUT default timeout (defaults to 5)
|
|
--threads-limit THREADS_LIMIT
|
|
global threads limit (default is no limit)
|
|
--no-telegram just print results, don't send to telegram
|
|
|
|
```
|
|
|
|
## Config example
|
|
|
|
Each server definition must have at least `host` and `opened` keys. `opened` is
|
|
a list of ports expected to be open.
|
|
|
|
You can also set per-server `concurrency` and `timeout`.
|
|
|
|
```yaml
|
|
telegram:
|
|
chat-id: -987
|
|
token: yourtoken
|
|
|
|
servers:
|
|
server-1:
|
|
host: 1.2.3.4
|
|
opened:
|
|
- 22
|
|
- 80
|
|
- 443
|
|
|
|
server-2:
|
|
host: 5.6.7.8
|
|
opened: []
|
|
concurrency: 1000
|
|
timeout: 2
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|