X3roxDev/xmapper

GitHub: X3roxDev/xmapper

一款单文件 Python 轻量级网络发现与端口扫描器,提供 ping 扫射、TCP/UDP 扫描、banner 抓取、OS 猜测及多格式报告导出功能。

Stars: 0 | Forks: 0

# 网络 Mapper 轻量级网络发现与端口扫描器 Network Mapper 是一个单文件 Python CLI,适用于专注于 Windows 的网络发现、TCP 扫描、UDP 探测、banner grabbing、OS 猜测和报告导出。请仅在您拥有或获得明确测试许可的网络和系统上使用它。 ## 文件 ``` xmapper/ ├── main.py └── README.md ``` ## 安装说明 需要 Python 3.11+。 ``` cd C:\Users\kapuc\OneDrive\Plocha\MujServer\xmapper pip install rich colorama ``` `rich` 和 `colorama` 可改善 Windows 终端 UI。如果缺少这些库,扫描器仍将以纯文本输出运行。 ## 用法 双击脚本或 EXE 将打开一个交互式菜单,而不是立即关闭。 ``` python main.py --help python main.py scan 192.168.1.15 python main.py scan 192.168.1.0/24 --html reports\scan.html python main.py ping 192.168.1.10-30 python main.py tcp 192.168.1.15 --ports 22,80,443,3389 python main.py udp 192.168.1.15 --ports 53,123,161 --timeout 2 python main.py banner 192.168.1.15 --ports 22,80,443 python main.py os 192.168.1.15 python main.py report reports\latest.html ``` ## 目标 支持的目标格式: - 单个 IP:`192.168.1.15` - CIDR 子网:`192.168.1.0/24` - IP 范围:`192.168.1.10-192.168.1.50` - 短 IPv4 范围:`192.168.1.10-50` ## 端口 支持的端口格式: - 常用/热门端口:`--ports top` - 单个端口:`--ports 443` - 自定义列表:`--ports 22,80,443` - 范围:`--ports 1-1024` - 混合格式:`--ports 22,80,443,8000-8100` ## 配置 配置是可选的,可通过 `--config` 加载。 ``` { "timeout": 1.0, "threads": 256, "max_workers": 512, "common_tcp_ports": [21, 22, 80, 443, 3389], "common_udp_ports": [53, 67, 68, 123, 161], "report_folder": "reports", "color_theme": "dark", "banner_timeout": 1.5, "ping_timeout_ms": 1000 } ``` 示例: ``` python main.py --config config.json scan 192.168.1.0/24 ``` ## 导出 每次扫描都会写入 `reports\last_scan.json`,以便稍后渲染报告。您也可以请求显式导出: ``` python main.py scan 192.168.1.0/24 --json reports\scan.json --csv reports\scan.csv --html reports\scan.html python main.py report reports\latest.html ``` ## 日志记录 ``` python main.py --log-level DEBUG --log-file reports\networkmapper.log tcp 192.168.1.15 --ports 1-1024 ``` 支持的级别包括 `INFO`、`WARNING`、`ERROR` 和 `DEBUG`。 ## 构建 EXE 安装 PyInstaller 并构建单个 Windows 可执行文件: ``` pip install pyinstaller pyinstaller --onefile --console --name networkmapper main.py .\dist\networkmapper.exe --help ``` ## 注意事项 - TCP 扫描使用带有线程池的快速 connect scan。 - Ping 扫射和 OS 猜测使用异步子进程调用。 - UDP 扫描采用尽力而为策略,因为静默的 UDP 超时可能意味着流量被开放、过滤或丢弃。 - OS 检测是基于 TTL 的启发式方法,因此请将其视为线索而非确凿证据。
标签:Maven构建, Python, 插件系统, 数据统计, 无后门, 漏洞挖掘, 端口扫描, 网络发现, 网络安全, 逆向工具, 隐私保护