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短链接分析, 主动探测, 域名枚举, 套接字编程, 密码管理, 开源安全工具, 插件系统, 服务器安全, 服务探测, 流量监控, 端口扫描器, 网络发现, 网络嗅探, 网络安全工具, 网络管理, 计算机网络, 逆向工程平台, 防御绕过