rippsec/netscan
GitHub: rippsec/netscan
一个纯 Bash 实现的 LOTL 网络扫描器,解决在受限环境中进行主机发现与端口探测的依赖缺失问题。
Stars: 0 | Forks: 0
# netscan
一个纯 Bash 编写的 LOTL(Living Off The Land)网络扫描器。不依赖 `nmap`、`masscan` 或任何外部依赖,仅使用任何最小 Linux 系统上可用的内置命令和标准 POSIX 工具。
适用于无法安装工具的环境:CTFT 跳板机、受限服务器、容器环境以及渗透后侦察。
## 功能特性
- **主机发现** — 子网 ICMP Ping 扫描
- **网络端口扫描** — 扫描子网范围内所有活跃主机的开放端口
- **单主机端口扫描** — 针对单个 IP 的目标扫描
- **目标列表扫描** — 从文件读取 IP 并逐一扫描
- **服务识别** — 对常见端口进行基础 Banner 抓取
- **接口列表** — 显示本地网络接口
- **输出到文件** — 使用 `-o` 保存结果
- **IPv6 模式**(实验性)
- 可配置并发数、超时时间和端口范围
- 优雅处理 `Ctrl+C` 中断
所有 TCP 探测均使用 `/dev/tcp` —— 无需 `nc`,仅在 Banner 抓取时依赖它。
## 使用方法
```
bash netscan.sh [MODE] [OPTIONS]
```
### 模式
| 标志 | 模式 | 描述 |
|---|---|---|
| `-N` | 主机发现 | Ping 扫描以发现子网中的活跃主机 |
| `-P` | 网络端口扫描 | 扫描子网范围内所有主机的端口 |
| `-p` | 单主机端口扫描 | 对指定目标 IP 进行端口扫描 |
| `-i` | 接口列表 | 显示本地网络接口 |
### 选项
| 标志 | 描述 | 默认值 |
|---|---|---|
| `-t ` | 目标 IP 或子网基地址(例如 `192.168.1.0`) | — |
| `-T ` | 目标列表文件(每行一个 IP) | — |
| `-r ` | 端口范围或列表 | `1-65535` |
| `-R ` | 子网内主机范围 | `1-254` |
| `-c ` | 并发任务数 | `50` |
| `-w ` | 超时时间(秒) | `2` |
| `-s` | 启用服务/Banner 识别 | 关闭 |
| `-o ` | 输出到文件 | 标准输出 |
| `-v` | 详细模式 | 关闭 |
| `-q` | 静默模式(隐藏 Banner) | 关闭 |
| `-6` | IPv6 模式(实验性) | 关闭 |
### 端口格式
```
-r 80,443,8080 individual ports
-r 1-1000 range
-r 1-1000,8080,9000 mixed
```
## 示例
```
# 查找子网上的活跃主机
bash netscan.sh -N -t 192.168.1.0
# 扫描单个主机(常用端口)
bash netscan.sh -p -t 192.168.1.1 -r 22,80,443,8080
# 扫描子网内所有主机,端口 1-10000,200 个线程
bash netscan.sh -P -t 192.168.1.0 -r 1-10000 -c 200
# 扫描指定主机范围并获取横幅信息
bash netscan.sh -P -t 192.168.1.0 -R 1-50 -r 22,80,443 -s
# 从目标列表扫描并保存结果
bash netscan.sh -T targets.txt -p -r 1-1000 -o results.txt
# 快速扫描,短超时
bash netscan.sh -p -t 10.10.10.5 -r 1-65535 -c 200 -w 1
```
## 工作原理
TCP 端口探测使用 Bash 内置的 `/dev/tcp` 伪设备:
```
timeout $t bash -c "echo >/dev/tcp/$host/$port" 2>/dev/null
```
这可以在不依赖任何外部工具的情况下建立 TCP 连接。仅在已知服务端口(如 22、80、443 等)进行 Banner 抓取时,才会回退使用 `nc` 获取响应。
主机发现使用 `ping -c 1 -W $timeout`,并通过 `-c` 设置的并发数限制后台任务数量。
标签:Banner抓取, Bing搜索, Facebook API, ICMP Ping扫描, IPv6, Linux工具, Living Off The Land, POSIX, PowerShell, SEO: Bash network scanner, SEO: LOTL scanner, SEO: 无依赖端口扫描, TCP端口探测, Web截图, 云存储安全, 受限环境, 后渗透侦察, 容器安全, 并发控制, 应用安全, 接口列表, 数据统计, 无外部依赖, 服务器安全, 服务检测, 端口扫描, 端口探测, 纯Bash, 网络扫描, 超时配置, 输出到文件