limbakhani/python-nmap-port-scanner
GitHub: limbakhani/python-nmap-port-scanner
该工具通过 Python 封装 Nmap,提供多种端口与主机扫描功能,用于授权场景下的网络诊断和基础安全评估。
Stars: 0 | Forks: 0
# Python Nmap 端口扫描器
一个使用 Python 和 Nmap 构建的命令行网络诊断工具。
## 功能
- TCP SYN 扫描
- TCP Connect 扫描
- 主机发现 / UP 扫描
- TCP ACK 扫描
- 操作系统检测
- 服务和版本检测
- 使用正则表达式和 Python 的 `ipaddress` 模块进行 IPv4 验证
- 可配置的端口输入,默认范围为 `20-30`
- 用户友好的终端输出和错误处理
- 每次扫描前进行明确的授权确认
## 要求
- Python 3.10 或更高版本
- 操作系统上已安装 Nmap
- 进行 SYN、ACK 和 OS 检测扫描需要管理员/root 权限
## 安装 Nmap
### Windows
从 Nmap 官网下载并安装 Nmap。在安装过程中,
保持将 Nmap 添加到系统 PATH 的选项处于启用状态。安装完成后
重启 VS Code。
验证:
```
nmap --version
```
### Ubuntu/Debian
```
sudo apt update
sudo apt install nmap
nmap --version
```
## 在 VS Code 中打开并运行
1. 解压或克隆该项目。
2. 在 VS Code 中打开项目文件夹。
3. 打开 **Terminal > New Terminal**。
4. 创建虚拟环境:
### Windows PowerShell
```
py -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
python scanner.py
```
### Linux/macOS
```
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python scanner.py
```
对于在 Linux 上需要提升权限的扫描:
```
sudo .venv/bin/python scanner.py
```
在 Windows 上,必要时请以管理员身份运行 VS Code 或终端。
## 扫描行为
| 选项 | 扫描 | Nmap 参数 |
|---|---|---|
| 1 | TCP SYN | `-sS -sV` |
| 2 | TCP Connect | `-sT -sV` |
| 3 | 主机发现 | `-sn` |
| 4 | TCP ACK | `-sA` |
| 5 | 操作系统检测 | `-O -sV` |
ACK 扫描主要用于识别过滤行为。它们的状态
通常显示为 `filtered` 或 `unfiltered`,而不是简单的开启或关闭。
## 从 VS Code 发布到 GitHub
在 GitHub 上创建一个空仓库,然后在 VS Code
终端中运行以下命令:
```
git init
git add .
git commit -m "Build Python Nmap port scanner"
git branch -M main
git remote add origin https://github.com/YOUR-USERNAME/python-nmap-port-scanner.git
git push -u origin main
```
或者,使用 VS Code 中的 **Source Control** 面板:
1. 选择 **Initialize Repository**。
2. 暂存所有文件。
3. 输入提交信息并选择 **Commit**。
4. 选择 **Publish Branch**。
5. 登录 GitHub 并选择公开或私有可见性。
## 建议的简历 / 作品集描述
使用 Nmap 构建了一个基于 Python 的端口扫描器,用于授权的网络诊断
和基础安全评估。实现了 TCP SYN、TCP Connect、主机发现、
ACK 和操作系统检测扫描,并包含服务/版本识别、IPv4 和端口
验证、异常处理以及易读的 CLI 输出。
**技能:** Python, Nmap, Network Security, Git, VS Code
标签:CTI, Facebook API, Nmap, Python, 云存储安全, 情报分析, 插件系统, 数据统计, 无后门, 端口扫描, 网络扫描, 网络诊断, 虚拟驱动器, 逆向工具