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
Metadata
Release files for lanlord 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| lanlord-1.0.2.tar.gz | 12.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lanlord-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.8 kB
Release files / lanlord-1.0.2.tar.gz
| Download URL | lanlord-1.0.2.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac632c018bd48a362d5869d5d7c07fee60ae3124ea5cd9db32e51ba2148fc3d7
|
|
BLAKE2b-256 checksum How to use checksums |
3408483de8831257452c32e74a8451f69efd6198f784f5b7db879a5449e67eb4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / lanlord-1.0.2-py3-none-any.whl
| Download URL | lanlord-1.0.2-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83b5fa6b59f8478fd5f56a8df6e6038605e063a06bbe2f9ce229128db8b4b35b
|
|
BLAKE2b-256 checksum How to use checksums |
3f65b1d1252f3749cec241ae20793a5299508f394aa91e77a1f27bde34366554
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for lanlord 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.