aaruzzz/mint712-security-tool-chest
GitHub: aaruzzz/mint712-security-tool-chest
一套用纯 Python 从零实现的网络诊断工具包,包含端口扫描、UDP Ping、路由追踪、DNS 和 WHOIS 查询,专为学习网络协议底层原理而设计。
Stars: 0 | Forks: 0
# 🧰 Aarush 的 IT 工具箱
### Python 网络实用工具套件 (MINT 712 - 阿尔伯塔大学)
这是一个模块化的 **网络诊断与分析工具包**,使用 Python 开发,用于 **阿尔伯塔大学** 的 **MINT 712** 课程。
本项目 **利用 socket 编程从零开始** 实现了多种经典网络工具,包括 **多线程 TCP 端口扫描器**、**基于 UDP 的 ping**、**ICMP 路由追踪**、**DNS 查询** 以及 **WHOIS 客户端**。
本作业的目标是理解 **真实网络工具的内部运作原理**,而非依赖现有工具。
## 🚀 功能特性
| 工具 | 描述 |
| ---------------------- | -------------------------------------------------------------------- |
| 🔍 **端口扫描器** | 支持多线程的 TCP 端口扫描器,支持 IP 范围和端口范围 |
| 📡 **UDP Ping** | 发送 UDP 探测包并监听 ICMP 端口不可达响应 |
| 🌍 **ICMP 路由追踪** | 使用受 TTL 限制的 ICMP Echo Requests 探测网络路径 |
| 🔎 **NSLookup** | 执行正向和反向 DNS 查询 |
| 📜 **WHOIS 查询** | 查询 WHOIS 服务器以获取域名/IP 注册信息 |
## ⚙️ 技术亮点
* 使用 **底层 Python socket 编程** 实现
* 使用 Python 线程实现 **多线程 TCP 扫描**
* 用于网络探测的 **原生 ICMP socket**
* 用于路由追踪的 **TTL 操作**
* 通过系统解析器进行 **DNS 解析**
* 通过 TCP 43 端口进行 **WHOIS 查询**
* 模块化架构,包含可复用工具
* 输入验证与错误处理
## 🧱 项目结构
```
mint712-network-tool-chest
│
├── main.py # CLI entry point and menu system
├── port_scanner.py # Threaded TCP port scanner
├── udp_ping.py # UDP ping implementation
├── traceroute_icmp.py # ICMP traceroute utility
├── nslookup.py # DNS lookup tool
├── whois_lookup.py # WHOIS client
├── utils.py # Shared helper functions
│
└── README.md
```
## 🖥️ 示例命令行界面
```
--------- Aarush's IT Tool Chest ---------
--------------- Main Menu ----------------
1) Port Scanner
2) UDP Ping
3) ICMP Traceroute
4) NSLookup
5) WHOIS
6) Under Development
0) Exit
```
# 📸 截图
### 启动工具

```
python3 main.py
```
### 运行端口扫描器

### UDP Ping (需要 sudo)

```
sudo python3 main.py
```
### ICMP 路由追踪 (需要 sudo)

### DNS 查询

### WHOIS 查询

# 🛠️ 安装
克隆仓库:
```
git clone https://github.com/aaruzzz/mint712-security-tool-chest.git
cd mint712-network-tool-chest
```
运行应用程序:
```
python3 main.py
```
# 🔐 管理员权限
某些工具需要 **原生 socket 访问权限**,这通常需要管理员权限。
包括:
* UDP Ping
* ICMP 路由追踪
使用 sudo 运行:
```
sudo python3 main.py
```
# 🧠 展示的网络概念
本项目展示了对以下内容的理解:
* TCP 连接扫描
* UDP 探测
* ICMP 消息类型
* 基于 TTL 的路由发现
* DNS 解析
* WHOIS 协议
* Socket 编程
* 线程与并发
* 网络诊断
# 📚 学术背景
本项目是 **MINT 712 作业** 的一部分:
**课程:** 互联网安全
**大学:** 阿尔伯塔大学
**讲师:** Leonard Rogers
该作业要求使用 Python **从零开始实现自定义网络工具**。
# 🧑💻 作者
**Aarush Timalsina**
互联网络硕士
阿尔伯塔大学
* LinkedIn: *https://www.linkedin.com/in/aaruzzz/*
* GitHub: *https://github.com/aaruzzz/*
# 🔮 未来改进
该工具包计划的扩展功能:
* ICMP Ping 实现
* DNS 记录查询工具
* Banner 抓取
* OS 指纹识别
* 并行 IP 扫描
* IPv6 支持
# ⭐ 项目意义
许多流行的网络工具(如 **nmap**、**traceroute**、**ping**)都建立在与此处实现的相同基本原则之上。
从零开始构建这些工具有助于理解:
* **网络诊断的实际工作原理**
* **操作系统如何处理 socket**
* **数据包如何通过网络传输**
# 📜 许可证
本项目仅供 **教育和学术目的** 使用。
# 💡 结语
如果您正在学习网络或安全,请尝试使用以下附加功能扩展此工具:
* 数据包构建
* 漏洞扫描
* DNS 记录枚举
* 网络映射
标签:Awesome, CDN识别, DNS枚举, DNS查询, DNS查询工具, GitHub, ICMP, MINT 712, Python, Traceroute, TTL探测, UDP Ping, WHOIS客户端, 低级网络编程, 后渗透, 套接字编程, 情报分析, 插件系统, 教育项目, 数据泄露防护, 无后门, 端口扫描器, 系统管理, 网络安全工具, 网络实用程序, 网络探测, 网络诊断, 逆向工具, 阿尔伯塔大学