Skip to main content

LAN device discovery and TCP port scanning

Project description

philiprehberger-net-scanner

Tests PyPI version License

LAN device discovery and TCP port scanning.

Installation

pip install philiprehberger-net-scanner

Usage

Network Discovery

from philiprehberger_net_scanner import scan_network

devices = scan_network("192.168.1.0/24", timeout=2.0)
for device in devices:
    print(f"{device.ip} - {device.hostname or 'unknown'} ({device.response_time_ms:.1f}ms)")

Port Scanning

from philiprehberger_net_scanner import scan_ports

# Scan common ports
ports = scan_ports("192.168.1.1", ports="common")
for port in ports:
    print(f"Port {port.number}: {port.state} ({port.service})")

# Scan specific range
ports = scan_ports("192.168.1.1", ports=range(1, 1024), timeout=0.5)

# Scan specific ports
ports = scan_ports("192.168.1.1", ports=[22, 80, 443, 3306, 5432])

Async Port Scanning

import asyncio
from philiprehberger_net_scanner import async_scan_ports

ports = asyncio.run(async_scan_ports("192.168.1.1", ports=range(1, 65536), timeout=0.5))

API

scan_network(cidr, timeout?, max_workers?, resolve_hostnames?) -> list[Device]

Discover devices on a network using TCP connect probes.

scan_ports(host, ports?, timeout?, max_workers?) -> list[PortResult]

Scan TCP ports on a host. ports can be "common", a range, or a list[int].

async_scan_ports(host, ports?, timeout?, concurrency?) -> list[PortResult]

Async version using asyncio for high-performance scanning.

Development

pip install -e .
python -m pytest tests/ -v

License

MIT

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

philiprehberger_net_scanner-0.1.8.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

philiprehberger_net_scanner-0.1.8-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file philiprehberger_net_scanner-0.1.8.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_net_scanner-0.1.8.tar.gz
Algorithm Hash digest
SHA256 598489d35d68c190e7cd82e0f2d7e78d782d8cb5b4ca6bc08683768acc070768
MD5 ac7abcf446c000b233c36347c8019522
BLAKE2b-256 b2c0d651d910a655eb0279e0d46ffdf7f97652024b2186487761a8e4345e0ffe

See more details on using hashes here.

File details

Details for the file philiprehberger_net_scanner-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_net_scanner-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7ef72ff94319e17c5ee871a67af3e230f0ca3c45e66b6d879d8fc549eef32fb7
MD5 cdf60858a9f6579570a36382952432cc
BLAKE2b-256 fbb559060826021f9fd1f8d03b5a715f1bf5269f990911070fc0d0858a34097f

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