Terminal-based interactive network IP & port scanner
Project description
LANlord 🏰
A fast, clean, hacker-style terminal-based network IP & port scanner built entirely in Python + Textual.
Features
| Feature | Description |
|---|---|
| Auto-Detect Network | Detects active interface, local IP, subnet mask & CIDR range |
| Manual IP Range | Enter start/end IPs or a CIDR block to override detection |
| Host Discovery | ICMP ping scan with TCP fallback for restricted environments |
| Port Scanning | Async TCP connect scan with configurable port list |
| Live TUI | Textual-powered interactive UI with tables, progress bar & log |
| Export | Save results to JSON or CSV |
| Cross-Platform | Works on macOS, Linux & Windows — no root required |
Quick Start
# 1. Install dependencies
pip install -r requirements.txt
# 2. Run LANlord
python -m scanner.main
Keyboard Shortcuts
| Key | Action |
|---|---|
D |
Detect network |
S |
Start scan |
E |
Export JSON |
C |
Export CSV |
R |
Reset |
Q |
Quit |
Project Structure
scanner/
├── __init__.py # Package metadata
├── main.py # Entry point
├── network.py # Network detection & IP utilities
├── ping.py # Host discovery (ICMP + TCP fallback)
├── portscan.py # Async TCP port scanner
├── export.py # JSON / CSV export
├── ui.py # Textual terminal UI
└── styles.tcss # Textual CSS theme
Usage
- Launch the app →
python -m scanner.main - Press D to auto-detect your network
- Optionally edit the IP range and ports in the Network tab
- Press S to start scanning
- Watch live results in the Results tab and logs in the Log tab
- Export results from the Export tab (JSON / CSV)
Configuration
Default Ports
The default scan targets these common ports:
22, 80, 443, 3306, 8080
Enter a custom list in the Ports input field using:
- Single ports:
80 - Comma-separated:
22,80,443 - Ranges:
1-1024 - Mixed:
22,80,100-200,443,8080-8090
Dependencies
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
lanlord-1.0.1.tar.gz
(12.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
lanlord-1.0.1-py3-none-any.whl
(15.1 kB
view details)
File details
Details for the file lanlord-1.0.1.tar.gz.
File metadata
- Download URL: lanlord-1.0.1.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf17160ba8b7da7c8f32a4067d5c082a4e7ec06de8f19424c8210a2b74c829a6
|
|
| MD5 |
dc8718c00578ee94aad5b969b93c65d8
|
|
| BLAKE2b-256 |
a1066eac1547fab5e4e051d4c96c9a540212c8178173454371d86fd5c0643b74
|
File details
Details for the file lanlord-1.0.1-py3-none-any.whl.
File metadata
- Download URL: lanlord-1.0.1-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9cad519cbec286dcf542140afb46e1636bab267b298fc8cb556b5ff57d6c6cc
|
|
| MD5 |
1008c466fa25881fa9941460de6c61aa
|
|
| BLAKE2b-256 |
9165d6e9fd4b2be61e6a80f754992c480e0c3f1c75a8b64b0c5cfcaccd0098b4
|