delriscotechnologies/arpticuno
GitHub: delriscotechnologies/arpticuno
Arpticuno 是一款轻量级 IPv4 局域网扫描器,通过 ARP 发现阶段结合 TCP 端口连接扫描,帮助用户快速发现本地网络中的活动主机及其开放端口。
Stars: 0 | Forks: 0
Arpticuno 是一个小型开源 IPv4 局域网扫描器,其设计初衷是易于理解、易于运行,且不易被意外误用。
你只需提供一个目标。它会通过 ARP 发现本地网络上的活动主机。然后,它会使用普通的 Python socket 连接检查每台活动主机的**前 7000 个 TCP 端口**。
它并不打算成为一个全能的专业扫描器。这正是它的设计初衷。
## Ubuntu / WSL 环境要求
Arpticuno 在 ARP 数据包可以直接到达本地网络的 Linux 环境中运行效果最佳。
你需要:
- Python 3.10 或更高版本
- `pip` 和 `venv`
- 拥有执行 ARP 发现所需的提升权限
- 可以访问你想要扫描的本地局域网接口
- 首次安装依赖时需要互联网连接
在 Ubuntu / WSL 上安装基础工具的命令如下:
```
sudo apt update
sudo apt install -y python3 python3-venv python3-pip
```
然后安装 Arpticuno:
```
cd arpticuno
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .[dev]
python -m pytest -q
```
如果 `sudo` 丢弃了你的 virtualenv 路径,请使用:
```
sudo env "PATH=$PATH" arpticuno scan 192.168.1.0/24
```
## 单一命令
```
arpticuno scan
```
这就是全部的公开 CLI。
## 运行时会发生什么
当你运行 `arpticuno scan ` 时,Arpticuno 会:
1. 验证目标
2. 使用 ARP 发现本地局域网上的活动 IPv4 主机
3. 扫描每台活动主机的 TCP 端口 `1-7000`
4. 显示包含活动主机和开放端口的简洁摘要
## `` 可以是什么
你可以传入:
- CIDR 范围,例如 `192.168.1.0/24`
- 单个 IPv4 主机,例如 `192.168.1.10`
- 逗号分隔的混合格式,例如 `192.168.1.10,192.168.1.20,192.168.2.0/24`
## 快速示例
```
sudo arpticuno scan 192.168.1.0/24
sudo arpticuno scan 192.168.1.10
sudo arpticuno scan 192.168.1.10,192.168.1.20
sudo arpticuno scan 192.168.1.0/24 --format json
sudo arpticuno scan 192.168.1.0/24 --format csv
```
## 输出格式
Arpticuno 支持三种输出格式:
- `table` — 正常且易于阅读的终端输出
- `json` — 用于脚本或工具的结构化输出
- `csv` — 适用于电子表格、pipeline 或 SIEM 摄入的平面行数据
默认报告专注于有用的发现结果。它会显示活动主机和开放的端口,而不是倾泻所有已关闭或超时的端口。
## 沙盒预览
如果你想在不触碰真实网络的情况下查看 UI,请运行:
```
python -m arpticuno.sandbox
```
该命令会执行一次包含示例主机和示例开放端口的模拟演示扫描。
## 适用范围
Arpticuno v1 有意保持较窄的适用范围:
- 仅限 IPv4
- ARP 发现仅限本地私有或链路本地局域网范围
- 仅限 TCP connect 扫描
- 默认仅扫描**前 7000 个 TCP 端口**
- 报告专注于开放端口
- 对 target 范围、超时、重试和 worker 行为进行了限制,以减少意外的资源耗尽
## Arpticuno 不做的事情
Arpticuno 不做:
- SYN 扫描
- UDP 扫描
- 服务指纹识别
- 操作系统检测
- banner 抓取
- 欺骗
- 规避功能
- 互联网全局扫描
## 本项目存在的原因
Arpticuno 旨在成为一个清晰、基础的扫描器项目。
它展示了你对以下内容的理解:
- ARP 发现
- TCP connect 扫描
- 安全的输入验证
- 清晰的 CLI 设计
- 结构化报告
- 测试以及基本的 AppSec 思维
## 实际使用注意事项
- ARP 发现需要本地网络。这是一个局域网工具,不是公共互联网扫描器。
- 根据你的环境,你可能需要提升权限才能执行 ARP / 使用 scapy。
- 在 WSL 或虚拟环境中,`sudo` 可能会丢弃你的 venv 路径。如果发生这种情况,请使用:
```
sudo env "PATH=$PATH" arpticuno scan 192.168.1.0/24
```
## 当前状态
Arpticuno 目前有意保持简单。
其目标是保持命令界面简洁、行为易于理解,且输出结果易于阅读。标签:ARP扫描, Python, 安全规则引擎, 局域网发现, 插件系统, 数据统计, 文档结构分析, 无后门, 端口扫描, 网络工具, 网络扫描器, 逆向工具