Mangesh-Bhattacharya/Net-Sec-Scan
GitHub: Mangesh-Bhattacharya/Net-Sec-Scan
一款基于 Python 的实时网络扫描分析桌面应用,提供端口扫描、IP 定位和 DHCP 监听功能,帮助网络管理员和安全人员高效完成网络诊断与安全评估。
Stars: 0 | Forks: 0
# 网络扫描器应用 🖥️🔍
一款实时**网络扫描器应用**,旨在提供强大的网络分析功能,如端口扫描、地理位置查询和 DHCP 数据包监听。无论您是**网络管理员**、**安全专业人士**还是**技术爱好者**,这款应用都能帮助您轻松分析和排查网络问题。
## ✨ 功能
- **端口扫描** 🛠️
扫描任何 **IP 地址**的开放端口,支持**默认**和**自定义端口选择**。
- **地理位置** 🌍
获取 IP 地址的**地理位置**,包含**城市**、**国家**和**坐标**等详细信息。
- **DHCP 监听器** 📡
监听**传入的 DHCP 请求**,监控接入网络的设备,并捕获**MAC 地址**和**请求的 IP**等重要细节。
- **Verbose 模式** 🧐
启用 **Verbose 模式**,可在**GUI**和**日志文件**中查看**实时扫描进度**。
- **实时日志** 📜
将扫描结果记录到**详细的日志文件**中,包括**时间戳**以及每个端口状态(开放/关闭)的信息。
- **进度条** 📊
通过 GUI 中直观的进度条追踪**扫描进度**,轻松实时监控扫描状态。
## 📦 安装说明
### 前置条件 ⚙️
确保您的计算机上安装了 **Python 3.6** 或更高版本。您还需要使用 `pip` 来安装必要的依赖项。
1. **克隆代码仓库**:
git clone https://github.com/Mangesh-Bhattacharya/Net-Sec-Scan.git
2. **进入项目目录**:
cd Net-Sec-Scan
3. **创建虚拟环境**(推荐):
python -m venv env
4. **激活虚拟环境**:
- **在 Windows 上**:
.\env\Scripts\activate
- **在 macOS/Linux 上**:
source env/bin/activate
5. **安装所需依赖项**:
pip install -r requirements.txt
### 地理位置 API Key 🌍
要使用**地理位置查询**功能,您需要一个来自 [ipinfo.io](https://ipinfo.io/) 的 **API key**。
1. 在 [ipinfo.io](https://ipinfo.io/) **创建一个账号**。
2. 从您的账号控制面板**获取您的 API access token**。
3. **将 token 存储为环境变量**:
- **在 Windows 上**:
set IPINFO_ACCESS_TOKEN=your-secure-token
- **在 macOS/Linux 上**:
export IPINFO_ACCESS_TOKEN="your-secure-token"
## 🚀 用法
### 启动应用 💻
要运行该应用程序,只需执行以下命令:
```
python main.py
```
这将打开一个包含三个主要选项的图形界面:
1. **端口扫描** 🛠️:扫描主机上的端口范围。
2. **IP 定位** 🌍:输入 IP 地址以获取地理位置详细信息。
3. **DHCP 监听器** 📡:监听网络上的 DHCP 请求。
### 端口扫描 🛠️
1. 点击 **"1- Port Scan"** 按钮。
2. 输入**主机的 IP 地址**和**端口范围**(例如 `22-80`)。
3. 应用程序将显示每个端口是**开放**还是**关闭**。
### 地理位置 🌍
1. 点击 **"2- GEOLOCATE IP"** 按钮。
2. 输入您想要查询地理位置的 **IP 地址**。
3. 应用程序将从 **ipinfo.io** 获取并显示地理位置详细信息。
### DHCP 监听器 📡
1. 点击 **"3- DHCP Listener"** 按钮。
2. 应用程序将开始监听 **DHCP 数据包**,并显示**MAC 地址**、**主机名**和**请求的 IP 地址**等详细信息。
## ⚙️ 依赖项
该应用程序依赖于以下 Python 包:
- `scapy==2.4.6` 🔧:用于强大的网络数据包处理。
- `paramiko==3.5.1` 🔑:用于 SSH 连接(如果需要)。
- `ipinfo==3.1.2` 🌍:用于获取地理位置数据。
- `tkinter` 🖱️:用于图形用户界面(GUI)。
- `threading` ⏳:用于运行后台任务,如监听 DHCP 数据包。
- `socket` 📡:用于执行网络相关任务。
## 🛡️ 安全
请查阅[安全政策](SECURITY.md),了解有关保护应用程序和确保安全使用的重要信息。
## 📄 许可证
本项目基于 **MIT License** 授权。详情请参阅 [LICENSE](LICENSE.md) 文件。
## 🤝 致谢
- **Scapy**:提供强大的网络数据包处理能力。
- **ipinfo.io**:提供优秀的地理位置数据。
- **Tkinter**:提供 GUI 框架。
- **Paramiko**:在需要时提供 SSH 功能。
## 📧 联系方式
如有任何疑问、建议,或者您发现了安全漏洞,请通过以下方式联系我们:
- **电子邮箱**:[mangesh@ameyacloud.com](mailto:mangesh@ameyacloud.com)
- **GitHub Issues**:[GitHub Issues 页面](https://github.com/Mangesh-Bhattacharya/Net-Sec-Scan/issues)
感谢您关注**网络扫描器应用**!祝您扫描愉快!🔍
标签:GUI工具, IP地理定位, Python, 云存储安全, 反取证, 安全评估, 情报分析, 插件系统, 数据统计, 无后门, 端口扫描, 网络扫描, 网络诊断, 逆向工具