Platform Supported

Generic badge

Python

Deployments

pypi pages-build-deployment

Pypi-format Pypi-status

NetSec (Network Security)

NetSec is a tool to analyze devices connecting to the router and alert accordingly when a new device is connected.

This app can display and store intruders’ IP address, MAC address, and Block the device.

Blocking device feature is currently available only for Netgear router users.

Kick off

Install

python3 -m pip install NetSec

Initiate

from netsec import network_monitor, SupportedModules

if __name__ == '__main__':
    # SupportedModules.att  # for AT&T users
    # SupportedModules.netgear  # for any network using Netgear router
    network_monitor(module=SupportedModules.att, init=True)  # Create snapshot
    network_monitor(module=SupportedModules.att, init=False)  # Scan for threats and alert

Notifications will not repeat within an hour.

ENV Variables

Environment variables are loaded from a .env file.

  • ROUTER_PASS - Router password. Only for Netgear users.

  • GMAIL_USER - Gmail account username to send and email.

  • GMAIL_PASS - Gmail account password to send and email.

  • RECIPIENT - Email address to which NetSec alerts should be sent.

  • PHONE - To send an SMS notification - Example: 1234567890

Coding Standards

Docstring format: Google
Styling conventions: PEP 8
Clean code with pre-commit hooks: flake8 and isort

Release Notes

Requirement

python -m pip install gitverse

Usage

gitverse-release reverse -f release_notes.rst -t 'Release Notes'

Linting

PreCommit will ensure linting, and the doc creation are run on every commit.

Requirement

pip install sphinx==5.1.1 pre-commit recommonmark

Usage

pre-commit run --all-files

Pypi Package

pypi-module

https://pypi.org/project/NetSec/

Runbook

made-with-sphinx-doc

https://thevickypedia.github.io/NetSec/