Metadata-Version: 2.4
Name: dargslan-port-monitor
Version: 1.0.0
Summary: Monitor open ports and listening services on Linux — detect unexpected listeners, track port usage
Author-email: Dargslan <info@dargslan.com>
License: MIT
Project-URL: Homepage, https://dargslan.com
Project-URL: Documentation, https://dargslan.com/blog
Project-URL: Repository, https://github.com/Dargslan
Project-URL: Free Cheat Sheets, https://dargslan.com/cheat-sheets
Project-URL: Linux & DevOps Books, https://dargslan.com/books
Project-URL: Blog & Tutorials, https://dargslan.com/blog
Keywords: port,monitor,netstat,ss,linux,sysadmin,network,security,devops
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: System :: Networking :: Monitoring
Classifier: Topic :: Security
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# dargslan-port-monitor

**Linux Open Port Monitor** — Monitor listening ports, detect exposed services, check port availability. Reads from ss/netstat and /proc/net. Zero external dependencies.

[![PyPI version](https://img.shields.io/pypi/v/dargslan-port-monitor)](https://pypi.org/project/dargslan-port-monitor/)

## Installation

```bash
pip install dargslan-port-monitor
```

## CLI Usage

```bash
dargslan-ports report              # Full port report
dargslan-ports tcp                 # TCP listening ports
dargslan-ports udp                 # UDP listening ports
dargslan-ports exposed             # Externally exposed ports
dargslan-ports check 192.168.1.1 22  # Check specific port
dargslan-ports json                # JSON output
```

## Python API

```python
from dargslan_port_monitor import PortMonitor

pm = PortMonitor()
pm.print_report()

tcp = pm.get_listening_ports()
exposed = pm.find_exposed()
unexpected = pm.find_unexpected(expected_ports=[22, 80, 443])
result = pm.check_port("192.168.1.1", 22)
```

## More Resources

- [Linux eBooks](https://dargslan.com/books) | [Cheat Sheets](https://dargslan.com/cheat-sheets) | [Blog](https://dargslan.com/blog)

## License

MIT — [Dargslan](https://dargslan.com)
