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.
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.
- 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
You can install pyconn-monitor
using pip:
pip install pyconn-monitor
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
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)
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.
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.