Healer101015/port-scanner-java
GitHub: Healer101015/port-scanner-java
一款基于 Java 编写的端口扫描工具,用于识别目标主机上开放的网络端口并辅助网络安全教育。
Stars: 0 | Forks: 0
# 端口扫描器 - Java 网络安全工具
🔒 用于网络安全教育目的的 Java 端口扫描工具。
## 📋 描述
该扫描器用于识别特定 IP 地址上的开放端口,可辅助进行以下工作:
- 网络安全审计
- 识别暴露的服务
- 漏洞分析
- 学习网络与安全概念
## ⚠️ 免责声明
**请仅对您拥有或获得明确授权测试的系统使用此工具。**
未经许可扫描第三方系统是非法的。
## 🚀 环境要求
- Java 11 或更高版本
- Maven 3.6+
## 🛠️ 安装
```
# 导航至项目目录
cd port-scanner-java
# 编译项目
mvn clean package
```
## 💻 使用方法
### 扫描常见端口 (localhost)
```
java -jar target/port-scanner-1.0.0.jar 127.0.0.1
```
### 自定义 timeout 进行扫描
```
java -jar target/port-scanner-1.0.0.jar 192.168.1.1 2000
```
### 直接使用 Maven 运行
```
mvn exec:java -Dexec.mainClass="com.healer.portscanner.PortScanner" -Dexec.args="127.0.0.1"
```
## 📊 扫描的端口
扫描器会检查以下常见端口:
| 端口 | 服务 | 端口 | 服务 |
|-------|----------|-------|-------------|
| 21 | FTP | 445 | SMB |
| 22 | SSH | 993 | IMAPS |
| 23 | Telnet | 995 | POP3S |
| 25 | SMTP | 3306 | MySQL |
| 53 | DNS | 3389 | RDP |
| 80 | HTTP | 5432 | PostgreSQL |
| 110 | POP3 | 8080 | HTTP Alt |
| 143 | IMAP | 8443 | HTTPS Alt |
| 443 | HTTPS | | |
## 🔧 自定义配置
### 添加更多端口
编辑 `PortScanner.java` 中的 `COMMON_PORTS` 数组:
```
private static final int[] COMMON_PORTS = {
21, 22, 23, // ... suas portas adicionais
};
```
### 调整 timeout
默认 timeout 为 1000ms。在慢速网络中可适当增加:
```
java -jar target/port-scanner-1.0.0.jar 192.168.1.1 5000
```
## 📚 网络安全概念
### 什么是 Port Scanning?
Port scanning(端口扫描)是一种向主机特定端口发送数据包的技术,用于确定哪些端口处于开放、关闭或被过滤的状态。
### 为什么开放端口很重要?
每个开放端口都代表一个正在运行的潜在服务:
- **端口 22 (SSH)**:安全的远程访问
- **端口 80/443 (HTTP/HTTPS)**:Web 服务器
- **端口 3306 (MySQL)**:暴露的数据库
### 最佳实践
1. 仅保持必要的端口处于开放状态
2. 使用 firewalls 限制访问
3. 定期监控连接日志
4. 及时更新暴露的服务
## 📁 项目结构
```
port-scanner-java/
├── src/
│ └── main/
│ └── java/
│ └── com/
│ └── healer/
│ └── portscanner/
│ └── PortScanner.java
├── pom.xml
└── README.md
```
## 📄 许可证
MIT License - 可自由用于学习和个人项目。
## 👨💻 作者
由 Healer 开发,作为 Java 和网络安全学习的一部分。
**🎯 后续步骤:** 试试 `password-analyzer` 和 `network-sniffer` 吧!
标签:DNS枚举, DNS查询工具, JS文件枚举, Maven, 域名枚举, 插件系统, 教育目的, 漏洞验证, 端口扫描器, 网络安全工具, 网络审计