Skip to main content

Standalone IP threat scanner using local blocklists — no API required

Project description

SEEK

Standalone IP threat intelligence CLI — no API key required.

Seek scans IP addresses against locally stored blocklists (Firehol, Spamhaus, Emerging Threats). Everything runs offline. Blocklists update on demand. Ships as a single pip install.

Installation

pip install seek
seek update        # pull fresh blocklists before first scan

Commands

seek scan — Scan IPs against local blocklists

Flag Description
--ip <address> Scan a single IP directly
--cidr <range> Scan a full CIDR range e.g. 10.0.0.0/24
-i, --input <file> Path to a file with one IP per line
-o, --output <file> Path to output CSV file
--json Output results as JSON instead of CSV

Examples:

seek scan --ip 185.220.101.1
seek scan --cidr 192.168.1.0/24 -o results.csv
seek scan -i ips.txt -o results.csv
seek scan -i ips.txt --json

seek update — Refresh local blocklists

Downloads the latest blocklists from Firehol, Spamhaus, and Emerging Threats and saves them to ~/.seek/blocklists/. The bundled seed lists are never overwritten — they are always the fallback if an update fails.

Flag Description
--source <name> Which list to update: firehol, spamhaus, emerging, or all (default: all)

Examples:

seek update
seek update --source spamhaus
seek update --source firehol

seek watch — Monitor live outbound connections

Polls all active outbound network connections on your machine every N seconds and flags any remote IP found in the local blocklists. No admin or root required on Windows.

Flag Description
--interval <seconds> Poll frequency in seconds (default: 3)
--log <file> Optional path to write flagged IPs to a log file

Examples:

seek watch
seek watch --interval 5
seek watch --interval 10 --log flagged.txt

Output Format

CSV columns (seek scan)

Column Description
ip The scanned IP address
verdict clean, malicious, or invalid
source Which blocklist flagged it (firehol, spamhaus, emerging)

Live watch output (seek watch)

Flagged connections print to terminal in real time in red. Clean connections are silent. If --log is set, flagged IPs are appended to the log file as ip,source per line.

Blocklist Sources

Source Coverage
Firehol Level 1 Known attackers, scanners, botnets
Spamhaus DROP Hijacked IP space, spam infrastructure
Emerging Threats Active threat actors, C2 servers

Bundled seed lists ship with the package. Run seek update to get the latest versions.

Data Storage

Path Contents
~/.seek/blocklists/ User-updated blocklists (preferred at scan time)
Package data/ folder Bundled seed lists (fallback if no update has been run)

Author

DEMEJI — MIT License

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

seek_release-0.1.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

seek_release-0.1.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file seek_release-0.1.1.tar.gz.

File metadata

  • Download URL: seek_release-0.1.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for seek_release-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4cc2ee10a18d82d83ffb2d0734839ce70e5a6fa4cb2a2766a0c5204cad325a87
MD5 b56d44b77164643a7b7f9ce108881412
BLAKE2b-256 0a71e117deef8d2d6722906a037c9dbd438a04b5cfda3a82ea4093f3750f39d6

See more details on using hashes here.

File details

Details for the file seek_release-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: seek_release-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for seek_release-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18fe61e000e10284085066c3b1dfdaffef0d8003297245ebc04e1371b02a2890
MD5 f5db085ed79eaffa4161ad5c5d8532be
BLAKE2b-256 0364d0631ccc118aeb3d14913a85abad39526ac6241fba3fb14c215e8321c1ff

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