shazeus/portmap

GitHub: shazeus/portmap

一款基于 Python 的快速轻量级命令行网络扫描器,提供端口扫描、主机发现和服务检测功能,无需 root 权限即可运行。

Stars: 1 | Forks: 0

portmap

Fast lightweight network scanner CLI — port scanning, host discovery, service detection.

PyPI Python License Stars

**portmap** 是一款专为终端设计的快速、并发、纯 Python 网络扫描器。它支持 TCP/UDP 端口扫描、活动主机发现、服务 banner 抓取、反向 DNS 解析以及 CIDR 网络计算——所有这些都通过简洁、色彩丰富的 Rich 界面呈现。无需 root 权限。 - **多目标扫描** —— 在单条命令中扫描单个 IP、主机名或整个 CIDR 范围 - **并发引擎** —— 可配置的线程池(默认 200 个线程)实现高速扫描 - **服务检测** —— 将端口映射到已知服务名称,并从开放的 socket 抓取 banner - **主机发现** —— 跨 CIDR 范围执行基于 TCP 的 ping 扫描,并支持可选的 rDNS - **UDP 扫描** —— 针对 DNS、SNMP、NTP 等 UDP 服务的基础 UDP 探测模式 - **Top-100 端口预设** —— 精选的最常暴露端口列表,便于快速审计 - **Rich 输出** —— 彩色表格、进度条和摘要面板;支持使用 `--json` 导出 JSON - **CIDR 计算器** —— 网络地址、广播地址、可用主机范围及隐私分类 ## 安装说明 ``` pip install portmap-cli ``` ## 使用说明 ``` portmap [COMMAND] [OPTIONS] [TARGETS] ``` ## 命令 | 命令 | 描述 | |---------|-------------| | `scan` | 对一个或多个主机或 CIDR 进行 TCP/UDP 端口扫描 | | `discover` | 扫描 CIDR 范围并列出活动主机 | | `services` | 扫描并将所有发现的服务显示在一个表格中 | | `quickscan` | 针对单个主机执行超快 top-100 扫描及 banner 抓取 | | `ping` | 对一个或多个主机进行 TCP 可达性检查 | | `resolve` | 正向/反向 DNS 解析 | | `portinfo` | 显示端口号对应的知名服务信息 | | `cidrinfo` | 显示 CIDR 的网络范围、广播地址及可用主机 | ## 示例 ``` # Top 100 端口及 service banners 快速扫描 portmap quickscan 192.168.1.1 # 扫描多个 hosts 上的特定 ports portmap scan 192.168.1.1 192.168.1.2 -p 22,80,443,3306 # 完整 subnet port 扫描 portmap scan 192.168.1.0/24 -p 1-1024 --banners # 发现 subnet 中的 live hosts portmap discover 10.0.0.0/24 --rdns # 一个 range 的 service 表 portmap services 192.168.1.0/24 -p top100 # 针对 DNS/SNMP services 的 UDP 扫描 portmap scan 8.8.8.8 -p 53,161 --udp # Reachability 检查 portmap ping google.com 8.8.8.8 192.168.1.1 # DNS resolution portmap resolve github.com cloudflare.com portmap resolve --rdns 1.1.1.1 8.8.8.8 # Port 信息查找 portmap portinfo 22 80 443 3306 5432 # Network CIDR 信息 portmap cidrinfo 192.168.1.0/24 # 用于 scripting 的 JSON 输出 portmap scan 192.168.1.0/24 -p top100 --json > results.json ``` ## 配置 | 标志 | 默认值 | 描述 | |------|---------|-------------| | `-p`, `--ports` | `top100` | 端口:`22,80`、`1-1024`、`top100`、`1-65535` | | `-t`, `--timeout` | `1.0` | TCP 连接超时时间(秒) | | `-T`, `--threads` | `200` | 并发线程数 | | `-b`, `--banners` | off | 从开放端口抓取服务 banner | | `--udp` | off | 使用 UDP 代替 TCP | | `--json` | off | 以 JSON 格式输出结果 | | `-q`, `--quiet` | off | 仅打印存活主机 | ## 许可证 MIT © [shazeus](https://github.com/shazeus)
标签:Facebook API, Python, Qt框架, 插件系统, 数据统计, 文档结构分析, 无后门, 服务识别, 端口扫描, 网络扫描器, 逆向工具