AnishaPaturi/network-port-scanner
GitHub: AnishaPaturi/network-port-scanner
基于 Java 和 Pcap4J 的网络安全工具包,集成端口扫描、Banner 抓取、网络发现和数据包嗅探功能,适合网络安全教学与协议学习。
Stars: 0 | Forks: 0
# 网络安全工具包 (Java)
一个 **基于 Java 的网络安全和计算机网络工具包**,提供了多种用于分析和监控网络活动的实用工具。
该项目演示了使用 Java socket 编程和 **Pcap4J 数据包捕获库** 进行 **端口扫描、数据包嗅探、网络发现和服务检测** 等概念。
## 功能
### 1. 端口扫描器
扫描目标主机以识别开放端口。
* 多线程端口扫描
* 检测常见服务 (HTTP, SSH, FTP 等)
* 使用 Java socket 进行快速扫描
示例输出:
Port 22 → OPEN (SSH)
Port 80 → OPEN (HTTP)
Port 443 → OPEN (HTTPS)
### 2. Banner 抓取器
尝试从开放端口获取服务 Banner,以识别正在运行的服务器软件。
示例:
Port 80 → Apache Server
Port 21 → vsFTPd
### 3. 网络扫描器
扫描本地网络以检测活动设备。
示例:
192.168.0.1 → ACTIVE
192.168.0.5 → ACTIVE
192.168.0.12 → ACTIVE
### 4. 数据包嗅探器
捕获实时网络数据包并提取有用信息。
捕获的信息:
* 源 IP 地址
* 目标 IP 地址
* 协议类型 (TCP / UDP / ICMP)
* 数据包长度
示例:
192.168.0.2 → 142.250.183.14 → TCP → 74 bytes
## 使用的技术
* Java
* Socket 编程
* 多线程
* Pcap4J
* Npcap
* Swing (GUI)
## 项目结构
network-port-scanner
│
├── lib (外部库)
│ ├── pcap4j-core.jar
│ ├── pcap4j-packetfactory-static.jar
│ ├── jna.jar
│ ├── slf4j-api.jar
│ └── slf4j-simple.jar
│
├── src
│ ├── BannerGrabber.java
│ ├── NetworkScanner.java
│ ├── PacketSniffer.java
│ ├── PortScannerUtil.java
│ ├── ScannerGUI.java
│ └── ServiceMapper.java
│
└── screenshots
## 安装说明
### 1. 安装 Npcap (数据包捕获所需)
下载地址:
https://npcap.com/
在安装过程中启用:
Install Npcap in WinPcap API-compatible Mode
### 2. 编译项目
在项目文件夹中打开终端:
javac -cp "lib/*" src/*.java
### 3. 运行数据包嗅探器
java -cp "lib/*;src" PacketSniffer
### 4. 运行 GUI 端口扫描器
java -cp "lib/*;src" ScannerGUI
## 学习成果
本项目演示了:
* TCP/IP 网络概念
* 网络侦察技术
* 数据包捕获与分析
* Java socket 编程
* 多线程网络扫描
* 网络安全基础知识
## 用例
* 教育性的网络安全演示
* 理解数据包级通信
* 学习渗透测试基础
* 研究 TCP/IP 协议
## 免责声明
本工具仅供 **教育目的** 使用。
未经许可,请勿使用它扫描或监控网络。
## 作者
Anisha Paturi
计算机科学与工程专业学生
标签:Banner抓取, DNS枚举, DNS查询工具, GitHub, ICMP, JS文件枚举, Maven构建, Npcap, Pcap4J, Socket, Swing GUI, TCP/IP, UDP, URL短链接分析, 主动探测, 域名枚举, 套接字编程, 密码管理, 开源安全工具, 插件系统, 服务器安全, 服务探测, 流量监控, 端口扫描器, 网络发现, 网络嗅探, 网络安全工具, 网络管理, 计算机网络, 逆向工程平台, 防御绕过