philiprehberger/py-net-scanner
GitHub: philiprehberger/py-net-scanner
一个轻量级 Python 网络扫描库,提供局域网设备发现和 TCP 端口扫描功能,支持同步和异步两种调用方式。
Stars: 0 | Forks: 0
# philiprehberger-net-scanner
LAN 设备发现与 TCP 端口扫描。
## 安装
```
pip install philiprehberger-net-scanner
```
## 用法
### 网络发现
```
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)")
```
### 端口扫描
```
from philiprehberger_net_scanner import scan_ports
# 扫描常用端口
ports = scan_ports("192.168.1.1", ports="common")
for port in ports:
print(f"Port {port.number}: {port.state} ({port.service})")
# 扫描指定范围
ports = scan_ports("192.168.1.1", ports=range(1, 1024), timeout=0.5)
# 扫描指定端口
ports = scan_ports("192.168.1.1", ports=[22, 80, 443, 3306, 5432])
```
### 异步端口扫描
```
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]`
使用 TCP connect 探测发现网络上的设备。
### `scan_ports(host, ports?, timeout?, max_workers?) -> list[PortResult]`
扫描主机上的 TCP 端口。`ports` 可以是 `"common"`、一个 `range` 或一个 `list[int]`。
### `async_scan_ports(host, ports?, timeout?, concurrency?) -> list[PortResult]`
使用 asyncio 的异步版本,用于高性能扫描。
## 许可证
MIT
标签:Ping探测, TCP连接, URL短链接分析, 二进制发布, 局域网扫描, 开源工具, 异步扫描, 插件系统, 数据统计, 服务探测, 端口扫描, 网络安全, 网络工具, 计算机取证, 设备发现, 逆向工具, 隐私保护