Skip to main content

See which processes make remote network connections

Project description

picosnitch

  • Monitors your system to notify you whenever a program makes its first remote network connection (while picosnitch has been running)
  • Or when the sha256 changes for one of these programs
  • Logs and config are stored in ~/.config/picosnitch/snitch.json
  • Inspired by programs such as:
    • GlassWire
    • Little Snitch
    • OpenSnitch
    • simplewall
    • tinysnitch
  • picosnitch only provides monitoring and notification capabilities, see the above programs for features such as a GUI, bandwidth tracking, firewall configuration, or filtering

getting started

linux

  • install from PyPI with
    pip3 install picosnitch --upgrade --user
  • depends on the BPF Compiler Collection
    sudo apt install python3-bpfcc
  • run daemon with
    sudo -E python3 -m picosnitch

windows

  • no longer supported for now, use a version <= v0.2.5

building from source

  • install from source using python 3 with
    python setup.py install --user
  • required dependencies (installed automatically from PyPI on setup if not already present)
    filelock plyer psutil python-daemon vt-py
  • additional dependency (requires manual installation)
    bcc
  • picosnitch.py can also be run directly

configuration

  • stored in ~/.config/picosnitch/snitch.json
  • terminate picosnitch if it is currently running before making any edits otherwise your changes will be lost
{
  "Config": {
    "Log command lines": True, # Log command line args for each executable
    "Log remote address": True, # Log remote addresses for each executable
    "Only log connections": True, # Only log processes that make remote network connections
    # otherwise log every new process from exec()
    "Remote address unlog": [80, "chrome", "firefox"], # List of process names (str) or ports (int)
    # will omit connections that match any of these from the log of remote addresses to avoid clutter
    # the process and executable will still be logged if it has not been already
    "VT API key": "", # API key for VirusTotal, leave blank otherwise
    "VT file upload": False, # Only hashes are uploaded by default
    "VT limit request": 15 # Number of seconds between requests
  },
  "Errors": [], # Log of errors by time
  "Latest Entries": [], # Log of entries by time
  "Names": {}, # Log of processes by name containing respective executable(s)
  "Processes": {}, # Log of processes by executable containing:
  # cmdlines, days seen, first seen, last seen, name, ports, remote addresses
  # some cmdlines are consolidated using * as a wildcard
  "Remote Addresses": {} # Log of remote addresses containing respective executable(s)
}

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

picosnitch-0.3.8.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

picosnitch-0.3.8-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file picosnitch-0.3.8.tar.gz.

File metadata

  • Download URL: picosnitch-0.3.8.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for picosnitch-0.3.8.tar.gz
Algorithm Hash digest
SHA256 bc00efc06016bb06c2f489a29ff9d03b36c25b057f728407b64a43d850924351
MD5 d5bc1d6ccffc9ad852565673dcf28858
BLAKE2b-256 580c1dec962503e69493b8398c33a91b1abdfdcee7021abf43f0d4b530e73a99

See more details on using hashes here.

File details

Details for the file picosnitch-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: picosnitch-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 26.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for picosnitch-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d26b01314f2e39f1a1a8a79cd4b7ce7339ee944af112672baf95b47ce9412528
MD5 56423edde1b2bd406e21492efe4a9a3d
BLAKE2b-256 722b4cd8620ddfb2c6989b8e65e5ca6ac1be00c6086632ed56486913385d932b

See more details on using hashes here.

Supported by

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