Skip to main content

A Python library to monitor and log network connections of untrusted programs

Project description

pyconn-monitor

License Python Version Code Style

pyconn-monitor is a Python library and command-line tool that helps you monitor and log network connections made by untrusted programs or Python scripts. It can be useful for identifying potential data leaks or unauthorized communication with remote servers.

Why Use pyconn-monitor?

When running untrusted or third-party programs on your system, it's essential to ensure that they're not secretly leaking sensitive data or establishing unauthorized connections with remote servers. pyconn-monitor provides a way to monitor and log all network connections made by a program or Python script, allowing you to identify and investigate any suspicious activity.

Features

  • Monitor network connections made by a program or Python script
  • Log connection details (timestamp, local and remote addresses, connection status, etc.)
  • Support for Windows and Unix-like operating systems
  • Command-line interface for easy usage

Installation

You can install pyconn-monitor using pip:

pip install pyconn-monitor

Usage

Command-line Interface

To monitor a program or Python script, use the pyconn-monitor command with the appropriate arguments:

pyconn-monitor <program_path> [-l <log_file>] [-p]
  • program_path: Path to the program or Python script to be monitored.
  • -l, --log_file: Path to the log file where connections will be logged (optional).
  • -p, --python: Indicate that the input is a Python script.

Example usage:

# Monitor a program and log connections to connections.log
pyconn-monitor /path/to/program -l connections.log

# Monitor a Python script
pyconn-monitor /path/to/script.py -p -l connections.log

# You can use --suppress-local option or -s to remove local connections logging which may be useful to reduce the number of logged entries if your objective is to view external connections
pyconn-monitor /path/to/script.py -p -l connections.log -s

Python Library

You can also use pyconn-monitor as a Python library:

from pyconn_monitor import monitor_connections

# Monitor a program and log connections to connections.log
monitor_connections("/path/to/program", "connections.log")

# Monitor a Python script
monitor_connections("python /path/to/script.py", "connections.log")

Optionally you can suppress all local connections to vew only remote or unknown connections:

from pyconn_monitor import monitor_connections

# Monitor a program and log connections to connections.log
monitor_connections("/path/to/program", "connections.log", suppress_local=True)

# Monitor a Python script
monitor_connections("python /path/to/script.py", "connections.log", suppress_local=True)

Contributing

Contributions to pyconn-monitor are welcome! If you find any issues or have ideas for improvements, please open an issue or submit a pull request on the GitHub repository.

License

pyconn-monitor is licensed under the Apache License 2.0.

See ya!


This README provides an overview of the `pyconn-monitor` application, its purpose, features, installation instructions, usage examples (both for the command-line tool and Python library), contribution guidelines, and license information.

Feel free to modify or expand the README as needed to better suit your project's requirements.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyconn-monitor-0.1.6.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

pyconn_monitor-0.1.6-py3-none-any.whl (10.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page