成 都 信 息 工 程 学 院
学 位 论 文
本地监听与远程端口扫描的设计与开发
论 文 作 者 姓 名 :
申 请 学 位 专 业 :
计算机科学与技术
申 请 学 位 类 别 :
工学学士
指导教师姓名(职称):
论 文 提 交 日 期 :
本地监听与远程端口扫描的设计与开发
摘 要
随着 Internet 的不断发展,信息技术已成为社会进步的巨大推动力。不管
是存储于服务器里还是流通于 Internet 上的信息都已成为一个关系事业成败的
关键,这就使保证信息的安全变得格外重要。本地监听与远程端口扫描程序就是
在基于 Internet 的端口扫描的基础上,开发的一个基于 java 的本地监听和远程
端口扫描的小程序。
该程序主要包括四个功能模块:显示当前系统信息;显示网络状态;显示当
前进程;扫描计算机。其中当前系统信息和网络状态可以反应出当前计算机的系
统配置和网络设置,让用户可以直观便捷的了解主机状况。而本地监听实现对正
在运行进程的监听和进程分析。远程端口扫描用来对本机或远程主机的端口开放
状态进行检测。通过使用以上四个功能可以使用户对本机的安全程度有更好认识,
也可以对目标主机的开放状况有更直观的了解。
关键词:端口扫描;Java;进程
Design and Implementation of Local Monitoring and
Remote Port Scan
Abstract
With the development of internet, information technology has been a huge push
to social advancement. Information stored in server or flowing in Internet has been a
key related to the accomplishment of work. So it becomes especially important to
assure security of information. Local listening and remote port scan program is
developed in java language .
This program includes four function modules——current system information
showing module, current networking state showing module, current progress showing
module and computer scanning module. Modules of system information showing and
networking state showing can display computer's system configuration and
networking setting, which can help user get the state of the computer. Local listening
listens to and analyzes running progress. Remote port scan can test port states of local
machine and remote machine. By using the following four functions, user can know
deeply in the safe state of host , and know more about goal machine's state directly.
Key words :port scanning;Java;process
目 录
论文页数:19 页
1 引言 ........................................................................1
1.1 课题背景 ................................................................1
1.2 课题研究意义............................................................1
1.3 与以往的程序的区别......................................................1
2 基本理论....................................................................2
2.1 TCP/IP 协议和 IP 地址 ....................................................2
2.2 用 TCP/IP 进行通信的示意图...............................................3
2.3 端口....................................................................3
2.4 JAVA Socket 类 ..........................................................3
3 系统功能模块设计与实现......................................................4
3.1 体系结构与功能介绍......................................................4
3.1.1 体系结构............................................................4
3.1.2 功能大体介绍........................................................4
3.2 程序主界面..............................................................5
3.3 当前系统信息界面........................................................6
3.4 网络状态程序界面........................................................7
3.5 本地监听................................................................7
3.6 远程端口扫描............................................................8
3.6.1 Socket 类编程机制 ...................................................8
3.6.2 功能详解...........................................................10
4 系统关键点测试 .............................................................14
结 论......................................................................17
参考文献.....................................................................17
致 谢.....................................................................18
声 明.....................................................................19
第 1 页 共 19 页
1 引言
1.1 课题背景
互联网与生俱有的开放性、交互性和分散性特征使人类所憧憬的信息共享、
开放、灵活和快速等需求得到满足。网络环境为信息共享、信息交流、信息服务
创造了理想空间,网络技术的迅速发展和广泛应用,为人类社会的进步提供了巨
大推动力。然而,正是由于互联网的特性,产生了许多安全问题。
本地监听与远程端口扫描统互相配合,能够有效提高网络的安全性。通过对
计算机的扫描,管理员可以了解主机的安全配置和运行的进程,及时发现安全漏
洞,客观评估本地主机的风险性。管理员根据扫描和监听的结果,对存在的漏洞
进行重新修复。在黑客进行攻击前防范。如果防火墙和网络监控是被动的防御手
段,那么本地监听和远程端口扫描则是主动防御手段,可以有效阻止黑客的攻击,
做到防患于未然。
1.2 课题研究意义
网络中的每一台计算机如同一座城堡,在这些城堡中,有的对外完全开放,
有的却是紧锁城门。入侵者们是如何找到,打开城门的呢?这些城门究竟通往何
处呢?
在网络技术中,把这些城堡的“城门“称之为计算机的端口,端口扫描是入
侵者搜集信息的常用手法之一。扫描端口的目的如下:判断目标主机上开放了那
些端口。判断目标主机的这些端口进行什么服务。掌握了这些信息后,入侵者能
够使用相应的手段实现入侵。本程序即可以对本机正在运行的进程进行监听,并
对自身的主机扫描,对结果进行分析,找出漏洞,从而为之后的重新配置做好准
备。
利用平时所学的知识,将这个程序的各个功能实现。通过实践也可以进一步
把所学的东西掌握牢固,找出其中不足的地方,在今后的学习生活中一步步的完
善。
1.3 与以往的程序的区别
本程序与以往的程序的最大的区别主要是该程序是使用 Java 语言编译的。
而决大部分该类似程序都是运用 VB 或者 VC 语言编写的。而用平时自己自学的
Java 语言编写该程序对自身来说是一个挑战,也是检验知识掌握程度的一件工
作。对于选择 Java 编译,主要是它有以下一些优点:
1)面向对象性:
面向对象是 Java 最重要的特性。跟新一代程序设计语言相比,Java 的面向
对象性更加彻底,所有的 Java 小程序和 applet 均是对象,其封装性实现了模块
化和信息隐藏,继承性实现了代码的复用,使用户可以建立自己的类库。