Skip to main content

LANscape

A local network scanner with a built-in web UI. Discover devices, open ports, and running services on your network.

The UI was recently converted into react, stored in a separate repo: mdennis281/lanscape-ui

pip install lanscape
python -m lanscape

Stats:

Version Monthly Downloads

Latest release:

Stable RC Beta

Docker:

lanscape lanscape-arm

Health:

pytest pylint packaging docker


LANscape UI

More screenshots

Scan Configuration

Port Detail


Flags

Flag Description
--version Show the installed version and exit
--ui-port <number> Port for the web UI (default: auto)
--ws-port <number> Port for the WebSocket server (default: 8766)
--ws-server Start WebSocket server only (no UI)
--persistent Don't auto-shutdown when the browser tab closes
--mdns-off Disable mDNS service discovery
--logfile <path> Write log output to a file
--loglevel <level> Set log level: DEBUG, INFO, WARNING, ERROR, CRITICAL (default: INFO)
--debug Shorthand for --loglevel DEBUG
python -m lanscape
python -m lanscape --version
python -m lanscape --ui-port 8080
python -m lanscape --debug --persistent
python -m lanscape --logfile /tmp/lanscape.log --loglevel WARNING
python -m lanscape --ws-server --ws-port 9000

Docker (Linux Only)

Not recommended for most users. Network scanning requires direct LAN access (ARP, ICMP, broadcasts), which conflicts with Docker's network isolation. The Docker image requires --network host mode, which only works on Linux — on Windows and macOS, Docker Desktop runs inside a VM so --network host exposes the VM's network, not your physical LAN.

For most users, pip install lanscape is the better option.

If you're running on a Linux host and still want to use Docker, see the full setup guide: Docker Setup Instructions

Troubleshooting

MAC Address / Manufacturer is inaccurate or unknown

LANscape does an ARP lookup to determine MAC addresses. This can require elevated permissions to get accurate results — try running your shell as admin.

Scan accuracy seems low

The scanner uses a combination of ARP, ICMP, and port probing to find devices. If results aren't great out of the box:

  • Tweak the scan configuration preset (accessible from the gear icon)
  • Set up ARP lookup properly — see ARP issues
  • Open an issue if something still seems off

Something else

Feel free to submit an issue with details about what you're seeing.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lanscape-4.1.8.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

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

lanscape-4.1.8-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file lanscape-4.1.8.tar.gz.

File metadata

  • Download URL: lanscape-4.1.8.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for lanscape-4.1.8.tar.gz
Algorithm Hash digest
SHA256 773fb3427ab7a9ebbe329a5a21906013d493edfab33abf30d430b686dbcfda1d
MD5 1f93f6aa77030afcf445365fe91e1cf8
BLAKE2b-256 eb869c21a6383509c28e7ac8122f03e842f0b681fd019fb0bf806e5bd7020683

See more details on using hashes here.

File details

Details for the file lanscape-4.1.8-py3-none-any.whl.

File metadata

  • Download URL: lanscape-4.1.8-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for lanscape-4.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e8c8e15e2716595402b5907c038504627b5f90f3170949a125c0bb66e1ae286d
MD5 0571e3bb3389262c94e64159074844f3
BLAKE2b-256 98ec33b6c8dc9ecce4a4cafc42f4ebdceace15e13f23ff6db245d10859e1d9f0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.1.8 This release

2 files

4.1.7

2 files

4.1.6

2 files

4.1.5

2 files

4.1.4

2 files

4.1.3

2 files

4.1.2

2 files

4.1.1

2 files

4.1.0

2 files

4.0.1

2 files

4.0.0

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.2

2 files

3.4.1

2 files

3.4.0

2 files

3.3.0

2 files

3.2.3

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.1

2 files

3.1.0

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.4.1

2 files

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.2

2 files

1.5.0

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.9

2 files

1.3.8

2 files

1.3.7

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.10

2 files

1.2.9

2 files

1.2.8

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.4.1

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

Supported by

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