Mudhiraj005/Java-Port-Scanner
GitHub: Mudhiraj005/Java-Port-Scanner
该项目是一个基于 Java 的 TCP 端口扫描器,通过 Socket 编程检测目标主机指定范围内的开放端口,用于学习网络编程基础知识。
Stars: 0 | Forks: 0
# 🌐 Java 端口扫描器
一个基于 Java 的 TCP 端口扫描器,通过使用 Java 的网络 API 来扫描目标主机的开放端口。
本项目通过建立到指定端口范围的 TCP 连接并识别哪些端口是开放的,展示了 TCP 网络、Socket 编程和面向对象编程(OOP)的基础知识。
## ✨ 功能
- 🔍 扫描自定义范围的 TCP 端口
- 🌐 扫描任何有效的 IPv4 地址
- ⚡ 可配置的连接超时
- 📋 显示所有检测到的开放端口
- 🛡️ 针对端口范围的输入验证
- ♻️ 使用 **try-with-resources** 进行自动资源管理
- 📦 清晰的面向对象编程(OOP)设计
## 🛠️ 使用的技术
- Java
- Java 网络 (`java.net`)
- Socket
- InetSocketAddress
- ArrayList
- 异常处理
- Git
- GitHub
- Visual Studio Code
## 📂 项目结构
```
Java-Port-Scanner
│
├── README.md
├── .gitignore
│
└── src
└── PortScanner
├── Main.java
├── Menu.java
└── PortScanner.java
```
## 🚀 快速开始
### 克隆仓库
```
git clone https://github.com/Mudhiraj005/Java-Port-Scanner.git
```
### 进入项目目录
```
cd Java-Port-Scanner
```
### 编译
```
javac src/PortScanner/*.java
```
### 运行
```
java -cp src PortScanner.Main
```
## 💻 示例输出
```
Enter IP address: 192.168.56.101
Enter Starting port: 1
Enter Ending port: 1024
-------------------------
Open Ports
-------------------------
21
22
23
25
53
80
111
139
445
512
513
514
-------------------------
Total : 12
```
## 📚 学习到的概念
该项目有助于巩固以下 Java 和网络概念:
- Java 包
- 类与对象
- 面向对象编程(OOP)
- 集合 (`ArrayList`)
- TCP 网络
- Socket 编程
- `Socket`
- `InetSocketAddress`
- 连接超时
- 异常处理 (`IOException`)
- try-with-resources
- 输入验证
- Git & GitHub
## 🗺️ 路线图
### ✅ 版本 0.1.0
- 基础的 TCP 端口扫描器
- 可配置的端口范围
- 支持超时设置
- 开放端口检测
### 🔄 计划功能
- 服务检测(HTTP、SSH、FTP、SMTP 等)
- 更好的控制台输出
- 多线程端口扫描
- Banner 抓取
- 扫描报告导出
- AI 驱动的端口分析
- 使用 JavaFX 的 GUI
## 👨💻 作者
**Vanam Chenchu Puneeth**
GitHub: https://github.com/Mudhiraj005
## ⭐ 支持
如果您觉得这个项目有用或从中学到了东西,请考虑在 GitHub 上给本仓库点一个 **⭐ Star**。
标签:JS文件枚举, Socket编程, TCP, 域名枚举, 插件系统, 数据统计, 端口扫描, 网络工具, 网络编程