shyampvagadiya/NetInspector

GitHub: shyampvagadiya/NetInspector

NetInspector 是一款基于 Python 的纯 CLI 网络工具,集成了 ICMP 扫描、TCP/UDP 端口扫描和实时数据包嗅探与分析功能,专为无头服务器环境下的轻量级网络侦察而设计。

Stars: 0 | Forks: 1

# NetInspector

NetInspector 是一款基于 Python 的纯 CLI 网络侦察与流量分析工具,将端口扫描器和实时数据包嗅探器/分析器集成在一个实用程序中。专为安全从业者、网络管理员以及需要一个轻量级、适合终端操作且可在无头服务器上运行的工具的学生而设计。 ## 功能 ### 🔍 ICMP 扫描 (Ping Sweep) - 同时探测一个或多个主机的可用性 - 输入逗号分隔的 IP 进行批量扫描 - 报告每台主机的状态为 **UP** 或 **DOWN**,并显示扫描耗时 - 优雅地标记无效的地址格式 ### 🔌 端口扫描器 - 支持 **TCP** 和 **UDP** 扫描模式 - **单主机扫描** — 针对特定 IP 和一组逗号分隔的端口进行扫描 - **范围扫描** — 遍历子网范围(例如 `192.168.1.1` 到 `192.168.1.50`),并扫描所有主机的指定端口 - 执行反向 DNS 解析,在 IP 旁边显示主机名 - 通过 `socket.getservbyport` 识别开放端口的服务名称 - 将端口状态报告为 `OPEN` 或 `Closed|Filtered` ### 📡 数据包分析器 / 嗅探器 - 在主机上检测到的任何网络接口上进行**实时捕获** - 当选择 Wi-Fi 接口时自动启用监控模式 - 支持 BPF 过滤器 — 按协议 (TCP/UDP/ICMP) 过滤,并可选择按端口过滤 - 在**摘要**和**完整数据包详情**输出之间切换 - 将捕获的流量导出为带有时间戳的 `.pcap` 文件,以便进行离线分析 - **打开现有的 `.cap`/`.pcap` 文件** — 使用 Scapy 加载并检查先前捕获的流量,支持摘要或逐包详情视图 ## 技术栈与库 | 库 | 作用 | |---|---| | `scapy` | 数据包构建,pcap 文件读取,数据包解析 | | `pyshark` | 通过 TShark/Wireshark 后端进行实时数据包捕获 | | `icmplib` | ICMP ping 操作和主机可用性检查 | | `psutil` | 网络接口枚举 | | `socket` | TCP/UDP 端口扫描,主机名解析,服务识别 | | `pyfiglet` | ASCII 艺术字横幅渲染 | | `termcolor` / `colorama` | 终端彩色输出 | ## 安装说明 **前置条件:** Python 3.x,TShark(pyshark 进行实时捕获所必需) ``` # Clone 仓库 git clone https://github.com/shyampvagadiya/NetInspector.git cd NetInspector # 安装依赖 pip install -r requirements.txt # 运行该工具(进行 packet capture 需要提升权限) sudo python3 netinspecor.py ``` ## 使用说明 启动时,NetInspector 会显示一个交互式 CLI 菜单: ``` ___ ___ ___ ___ ___ ___ NetInspector — Scan . Analyze . Protect. Choose the Operation: 1. ICMP Scan 2. Port Scan 3. Packet Sniffing/Analyzer Q. Quit ``` ### ICMP 扫描 ``` Enter IPs separated by comma: 192.168.1.1,192.168.1.2,8.8.8.8 192.168.1.1 is UP. 192.168.1.2 is DOWN. 8.8.8.8 is UP. Scan completed in 0:00:03.142 Seconds. ``` ### 端口扫描 ``` Select Scan Type: [TCP/UDP/ICMP]: TCP 1. Scan Single host 2. Scan a range of hosts Target Host: 192.168.1.1 Ports (comma ',' separated): 22,80,443,8080 PORT STATUS SERVICE 22 OPEN ssh 80 OPEN http 443 OPEN https 8080 Closed|Filtered ``` ### 数据包分析器 ``` 1. Start new packet capture 2. Open Existing .cap/.pcap file 3. Go to main menu Select Interface: Wi-Fi Summarized capture? [y/N]: y Filter packets? [y/N]: y Type [TCP/UDP/ICMP]: TCP Specific Protocol (Port): 443 ``` ## 项目结构 ``` NetInspector/ ├── netinspecor.py # Main application — all core logic ├── requirements.txt # Python dependencies └── setup.py # Package setup configuration ``` ## 依赖要求 有关完整的依赖列表,请参见 `requirements.txt`。主要软件包: ``` scapy pyshark icmplib psutil pyfiglet termcolor colorama ``` ## 免责声明 本工具仅严格适用于**授权测试、教育目的以及您拥有或获得明确测试许可的网络上的合法网络管理**。未经授权的扫描或数据包捕获可能会触犯当地法律法规。开发者对任何滥用行为不承担责任。 ## 作者 **Shyam Vagadiya** 网络犯罪与威胁情报分析师 [![GitHub](https://img.shields.io/badge/GitHub-shyampvagadiya-black?style=flat&logo=github)](https://github.com/shyampvagadiya/NetInspector) *NetInspector v1.0.1 — 基于 CLI 的网络扫描与数据包分析实用程序*
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 防御绕过, 隐私保护