logo资料库

TCP端口扫描器的实现.doc

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
摘要
ABSTRACT
第一章 绪论
第二章 端口扫描
2.1 端口扫描的相关知识
2.1.1 端口
网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。
按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,
端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(即进程)通过系统调用与某端口建
类似于文件描述符,每个端口都拥有一个叫端口号(port number)的整数型标识符,用于区别不同端
端口号的分配是一个重要问题。有两种基本分配方式:第一种叫全局分配,这是一种集中控制方式,由一个公认的
●公开端口:0--1023
●注册端口:1024--49151
●动态或私有端口:49152—65535
TCP/IP协议栈是网络扫描技术的基础,最基本的扫描方式TCP Connect()就是利用了TCP协
Ⅰ.TCP数据包结构
一个TCP数据包包括一个TCP头,后面是选项和数据。它的格式如图2-1。
图2-1 TCP报头格式
下面依次介绍TCP报文头中的每个域:
1.源端口和目的端口,各占16位,分别表示发送方和接收方的端口号。
2.发送序号和确认序号字段都是32位。其中发送序号表示数据部分第一个字节的序号,而确认序号表示该数据
3.头长度字段的值表示TCP报文头的长度。即20字节的固定长度加上可选项的长度。
4.紧接在头长度字段后有6位保留域,应该把它设置为0。
一个TCP头包含6个标志位,它们的意义分别为:
(1)SYN :SYN标志位用来建立连接,让连接双方同步序列号。
(2)FIN: FIN标志位表示发送端已经没有数据要求传输了,希望释放连接。
(3)RST :RST标志位用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TC
(4)URG: URG标志位为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针
(5)ACK :ACK标志位为确认标志位。如果为1,表示包中的确认号是有效的。否则,包中的确认号无效
(6)PSH :PSH标志位如果置位,接收端应尽快把数据传送给应用层
5.窗口大小字段表示从被确认的字节开始,发送方最多可以连续发送的字节个数。接收方通过设置窗口值的大小
6.校验和域是TCP协议提供的一种检错机制。
7.可选项。可选项是用来进行一些参数协商的字段。
Ⅱ.TCP/IP遵循的原则
1.当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包,同时发送一个RST数据包。
2.当一个RST数据包到达一个监听端口,RST被丢弃。
3.当一个RST数据包到达一个关闭的端口,RST被丢弃。
4.当一个不包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。
5.当一个SYN关闭的数据包到达一个监听端口时,数据包被丢弃。
6.当一个SYN数据包到达一个监听端口时,正常的三次握手继续,回答一个SYN|ACK数据包。
7.当一个FIN数据包到达一个监听端口时,数据包被丢弃。“FIN行为”(关闭的端口返回RST,监听端
Ⅲ.TCP三次握手过程如图2-2
图2-2TCP三次握手的过程
(1)主机A向B发送一个SYN=1的TCP连接请求数据报,同时为该数据
报生成一个序号SEQ,放在数据报头中一起发送出去。
(2)主机B若接收本次连接请求,则返回一个确认加同步的数据包SYN&ACK(SEQ=Y,ACK=X+
(3)最后,主机A再向主机B发送第二个数据包,同时对从主机B发来的数据包进行确认。
2.1.3 扫描的定义
扫描程序(Scanner)是自动检测远端主机或者本地主机安全脆弱性的程序。通过使用扫描程序一个用户可
●当前主机正在进行什么服务?
●哪些用户拥有这些服务?
●是否支持匿名登录?
●是否有某些网络服务需要鉴别?
2.2 端口扫描原理
端口扫描(port scanning)是通过连接到目标系统的TCP协议或UDP协议端口,来确定什么服
●判断目标主机是否存在或开机
●寻找开放的端口/服务
●当前目标主机所使用的操作系统类别
●寻找目标主机所提供服务的漏洞
前三种扫描一般是借助于TCP/IP协议的缺陷来完成的,而对服务中漏洞的扫描,由于涉及到不同的服务和不
“端口扫描”通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标
2.3 常用的端口扫描技术
2.3.1 TCP Connect() 扫描
TCP connect()扫描:这是对TCP的最基本形式的侦测。在该操作下,该connect()对目
2.3.2 TCP SYN扫描
TCP SYN扫描:这类技术通常涉及一种“半开”式的扫描——因为你不打开完整的TCP连接。 在这种技
2.3.3 FIN、Null扫描模式
为了增强隐蔽性采用关闭的端口会对你发送的探测信息包返回一个RST,而打开的端口则对其忽略不理。所以F
2.3.4 UDP扫描
这一方法是用来确定哪个UDP端口在主机端开放。这一技术是以发送零字节的UDP信息包到目标机器的各个端
第三章 涉及的相关技术
3.1多线程技术
(2)使用线程的好处有以下几点:
●使用线程可以把占据长时间的程序中的任务放到
●用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处
●程序的运行速度可能加快
●在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以
(3)多线程块模型
多线程块模型(MTA)在每个进程里只有一个块而不是多个块。这单个块控制着多个线程而不是单个线程。这里
(4)多线程的缺点
●通常块模型数据是在多个线程间共享的,需要一个合适的锁系统替换掉数据共享
3.2 网络套接字编程
(1)套接字基本概念
{协议,本地地址,本地端口,远程地址,远程端口}
流套接字是一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制
数据报套接字是无连接的,它支持双向的数据传输,具有开销小、数据传输效率高的特点,但不保证数据传输的可
此外,还有一种较少使用的套接字叫原始套接字(SOCK_RAW),可以使用它对底层协议如IP或ICMP
(2)Winsock编程原理
Winsock是Microsoft Windows平台上使用套接字的设施。它实际上是一组可供应用程序
Winsock 2提供了一组编写网络应用程序的基本API函数,诸如创建套接字、地址绑定、侦听连接请求
Winsock 2所用的API函数代码的实体包含在动态链接库ws2_32.dll中。Winsock
Windows套接字程序执行API 函数I/O操作时有阻塞和非阻塞两种模式。在阻塞模式下,执行I/O
一般,网络应用程序在阻塞模式下使用Winsock 2的API库函数进行流套接字和数据报套接字编程的过
第四章 系统的分析设计
4.1 系统需求分析
根据前面的介绍,本课题要实现TCP端口扫描系统,要涉及到以下几个方面的内容:
首先是输入局域网内某台主机或自身的IP地址。
然后是选择扫描一个端口还是选择扫描对个端口。
其次是输入要开启的进程数(在1~1000之间).
最后是开始扫描将最后结果显示出来即那些TCP端口是打开的。
为了完成上述内容,本课题主要使用使用VC++ 6.0来开发这个程序。
4.2 系统的功能概述
4.2.1程序设计流程
本程序是设计一个TCP端口扫描器,为了提高扫描的速率,所以采用多线程扫描,故要设定开启的线程数,为
图4-1TCP端口扫描程序设计流程
4.2.2界面的设计
因为是对局域网内某台主机进行扫描,故输入被扫描主机的IP,因为有的时候只需要知道某个端口是否开放为了
图4-2 界面设计流程
最后根据界面流程图设计好的界面如下图4-3所示:
图4-3 TCP端口扫描界面
第五章 扫描工具的具体实现
5.1 端口扫描木块的设计与实现
5.1.1 TCP connect()扫描的实现
TCP connect()扫描是最基本端口扫描方式,它的探测过程与数据的正常传输过程一致,实现起来比
1.建立流套接字:sd=socket(AF_INET,SOCK_STREAM,0),其中AF_INE
2.向目标主机发出连接请求:connect(sd,dest_sock,sock_len),其中des
3.根据结果,更新端口状态记录列表。执行上述三个步骤后就完成了对一个端口的一次全连接扫描。
具体如下:
struct thread *threada=(struct thread*)pParam;
//在内部重新打开互斥量
HANDLE hCounterIn=OpenMutex(MUTEX_ALL_ACCESS,FALS
WaitForSingleObject(hCounterIn,INFINITE);
UINT v=m_nCounter;
m_nCounter++;
ReleaseMutex(hCounterIn);
CloseHandle(hCounterIn);
struct sockaddr_in sin;
SOCKET sd;
int IpPort;
char IpAddr[16];
strcpy(IpAddr,threada->ip);
IpPort=v;
// Create the local socket
if ((sd = socket (AF_INET, SOCK_STREAM, IPPROTO_I
{
printf("Create socket error!");
return 1;
}
// Connect to the victim IP Address
sin.sin_family=AF_INET;
sin.sin_addr.s_addr=inet_addr(IpAddr);
sin.sin_port=htons((short)IpPort);
if (connect (sd, (struct sockaddr *)&sin, sizeof
{
printf("Connect the remote IP error!");
closesocket (sd);
return 1;
}
else
{
::PostMessage(threada->m_hwnd,WM_USER_PRINT_STAR
}
closesocket (sd);
return 0;
}
LRESULT CPortScanDlg::OnPrintStart(WPARAM wParam,L
{
int port=(int)wParam;
char temp[10];
memset(temp,0,10);
itoa(port,temp,10);
m_listInfo.InsertItem(listCounter,m_sIP,0);
m_listInfo.SetItemText(listCounter,1,temp);
listCounter++;
return 0;
}
5.1.2多线程扫描的实现
本程序为了提高应用程序整体的处理速度使用了多线程技术,下面是有关多线程的核心代码:
(1)、取得开启线程数,程序预设一个选择范围(1~100),可以选择此范围内的任意一个整数,如果超出
char strThreadNumber[10];
m_threadNumber.GetWindowText(strThreadNumber,10);
m_nThreadNumber=atoi(strThreadNumber);
if(m_nThreadNumber>1000)
{
AfxMessageBox("最大线程数不能超过1000");
return;
}
m_buttonStart.EnableWindow(FALSE);
m_buttonStop.EnableWindow(TRUE);
(2)、当设置一个开启的线程数后,应用程序会批量创建相应的线程次数。
if(m_nPortFrom==m_nPortTo)
{
v=1;
}
else
{
v=(m_nPortTo-m_nPortFrom+1)/m_nThreadNumber;
if((m_nPortTo-m_nPortFrom+1)%m_nThreadNumber > 0
{
v++;
}
}
m_thread.m_hwnd=this->m_hWnd;
m_thread.ip=m_sIP;
m_nCounter=m_nPortFrom;
AfxBeginThread((AFX_THREADPROC)threadM,NULL);
}
(3)、一个独立线程,主要是处理循环,与窗体脱离,提高窗体的反应能力。用互斥量对象实行线程同步。
UINT threadM(LPVOID pParam)
{
CPortScanDlg *dlg=(CPortScanDlg*)AfxGetApp()->Get
/*********创建互斥量************/
HANDLE hCounter=NULL;
if( (hCounter=OpenMutex(MUTEX_ALL_ACCESS,FALSE,"s
{
//如果没有其他进程创建这个互斥量,则重新创建
hCounter = CreateMutex(NULL,FALSE,"sam sp 44");
}
CWinThread *pT[1001];
HANDLE hThread[1001];
for(int i=0;i
{
int nThreadCounter=0; //每次批量创建的线程实际个数,最后一次是一个
int k;
for(k=0;k
{
if(m_nCounter>m_nPortTo)
{
break;
}
//设置扫描进度提示
char temp[10];
memset(temp,0,10);
itoa(m_nCounter,temp,10);
CString strTemp=(CString)temp;
dlg->m_prompt.SetWindowText("端口:"+strTemp)
//内循环计数
nThreadCounter++;
dlg->m_progressScan.StepIt();
pT[k]=AfxBeginThread((AFX_THREADPROC)threadA,&m_
hThread[k]=pT[k]->m_hThread;
Sleep(5);
}
hThread[k]=NULL; //非常重要,如果不加这一句的话,会经常出错,//如果
if(k!=0)
{
//WaitForMultipleObjects(nThreadCounter,hThread
WaitForMultipleObjects(nThreadCounter,hThread,T
}
}
CloseHandle(hCounter);
//设置提示
dlg->m_buttonStart.EnableWindow(TRUE);
dlg->m_buttonStop.EnableWindow(FALSE);
dlg->m_prompt.SetWindowText(_T(""));
dlg->m_progressScan.SetPos(0);
AfxEndThread(0);
return 0;
}
5.2其他组成模块的实现
5.2.1 对单独的某个端口进行扫
当输入局域网内你需要查询的主机IP后选择扫描一个端口然后输入需要查询是否打开的那个端口号进行查询,获
if(m_bIsSinglePort==TRUE)
{
CString strPort;
m_singlePort.GetWindowText(strPort);
m_nPortFrom=m_nPortTo=atoi(strPort);
}
5.2.2 对某段端口进行扫描
当输入局域网内你需要查询的主机IP后选择扫描多个端口,然后输入需要查询是否打开的那段端口号得范围然后
CString strPort;
m_portFrom.GetWindowText(strPort);
m_nPortFrom=atoi(strPort);
m_portTo.GetWindowText(strPort);
m_nPortTo=atoi(strPort);
}
if(m_nPortFrom>m_nPortTo)
{
MessageBox("开始端口要小于结束端口",_T("错误"),MB_ICONWARNING
return;
}
5.3系统评测结果
实验环境是运行扫描软件的主机和被测主机在同一局域网内。硬件配置都是Intel(R)Core(TM)2
首先查询下本机开启了那些TCP端口如图5-1:
图5-1 本机开启的TCP端口
然后运行本程序输入本机的IP地址:10.10.219.17,线程开启选择200。
(1)、选择扫描一个端口,输入要查询的端口号33673,测试结果如图5-2:
图5-2 扫描一个固定的端口
(2)、选择扫描多个端口,输入要查询的端口范围(1~5000),测试结果如图5-3:
图5-3 扫描一段范围的端口
扫描局域网内一台存活主机10.10.219.13。同样查询1~5000号端口扫描结果如图5-4:
图5-4 扫描局域网内一台主机的1~5000端口的
查询主机打开的TCP端口如图5-5:
图5-5 查询被扫描主机开启的TCP端口
通过以上对本机和对局域网内的存活主机扫描的数据,我们可以发现该扫描工具能够准确的扫描出被扫描机器所打
结束语
经过一个多月的设计和开发,端口扫描系统开发完毕。系统基本符合要求。
在整个设计过程中,出现过很多的问题,得到了老师和同学的帮助,在不断学习的过程中我体会到:
1、做事是一个不断学习的过程,从设计初的模糊认识到最后能够顺利完成,我体会到在实践中学习的重要性。
2、由于开始时对系统缺乏整体认识,不具备软件开发思想,对系统的功能需求分析的要求认识不够清楚,使得后
3、在设计过程中,遇到很多困难,我学会通过别人的代码理解语言的含义但这并不是抄袭,然后根据自己的设计
4、设计过程中,由于要实现某些功能,网上资源解决了我的问题。多借鉴网络资源也是学好软件编程一个不错的
总之,通过这次设计,我深刻体会到要做好一个完整的事情,需要有系统的思维方式和方法,对待一个新的问题,
致谢
此次毕业设计,是我在大学期间做过的较大,较完善的项目之一。在此,我要感谢我的指导老师李频。
首先,要感谢李频老师出给我的题目内容,本次毕业设计的题目内容与我的专业非常贴切,同时又很有挑战性,涉
在此还要感谢信息安全系的所有老师,他们教的前续课程成为我这次毕业设计的理论基础。没有他们,这次毕业设
最后,还要感谢南邮,正是在南邮的四年大学学习和生活,教会我在计算机方面的很多基础知识以及在信息安全方
参考文献
[1]谢希仁. 计算机网络 大连理工大学出版社,2000
[3]李瑞民. 网络端口扫描技术的研究与实现中国人民解放军信息工程大学硕士论文 2002
[4]张玉清. 安全扫描技术 清华大学出版社,2004
[5]W.Richard Stevens. TCP/IP详解卷1:协议 机械工业出版社,2000
[6]张平,蒋凡. 一种改进的网络安全扫描工具 计算机工程,2001
[7]阎雪. 黑客就这么几招 万方数据电子出版社,2000
[8]石淑华. 计算机网络安全基础 人民邮电出版社,2005
[9]陈刚. TCP/IP协议簇弱点分析 计算机网络攻击技术研讨会论文集,2000
[10]杨守君. 黑客技术与网络安全北京中国对外翻译出版公司,2000
[11]陈坚,陈伟. Visual C++网络高级编程 人民邮电出版社,2001
[12]张义荣等.计算机网络扫描技术研究[J] 计算机工程与应用,2004
[25]He Longtao,Fang Binxing,Hu Mingzeng. The study
南京邮电大学通达学院 毕 业 设 计(论 文) 题 目: TCP 端口扫描器的设计与实现 专 业: 计算机科学与技术(信息安全) 学生姓名: 班级学号: 指导教师: 指导单位: 计算机学院 日期: 2010 年 11 月 22 日至 2011 年 6 月 17 日
毕业设计(论文)原创性声明 本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进 行研究工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不 包含任何其他个人或集体已经发表或撰写过的作品成果。对本研究做出过重要贡 献的个人和集体,均已在文中以明确方式标明并表示了谢意。 论文作者签名: 日期: 年 月 日
摘要 网络安全已成为一个很迫切的研究任务和现实课题摆在我们面前,但是网络 安全是一个系统性工程,包括一个整体的安全策略、综合各种防护工具(如防火 墙、操作系统身份认证、加密等手段)、检测工具(如网络安全扫描工具、入侵检 测系统等)和及时响应的措施。 人们正向思维的方法是如何堵住网络上的危害,也采用了很多的网络安全防 护手法比如数据加密、防火墙、入侵检测系统等。但人们又想出了一种逆向思维 的方法即从黑客的角度来考虑网络安全。本课题的研究是整个网络安全体系的一 部分,即一种网络端口扫描工具。 本课题首先讨论了 TCP 端口扫描的原理和常用方法,并对一些 TCP 端口扫描 方法进行了详细的讨论。然后使用 C 语言编写了一个基于 MFC 的 TCP 端口扫描 工具。输入局域网内的一个 IP 然后对局域网内指定的主机进行扫描,可以对该主 机的某段端口进行扫描,还可以对某个单独的端口进行扫描。另外,为了使得该 工具更生动方便,本课题还实现了程序界面的编写。 最后,课题还讨论了一些常用探测工具的优点,并提出了今后程序的改进方 法。 关键字: 网络安全; 端口扫描; 网络协议; 网络攻击
ABSTRACT At present,doing the research about network security has become very pressing and realistic .But ensuring network’s security is a systematic engineering, including a whole security strategy, comprehensive various protection tools (such as firewalls, operating system identity authentication, encryption methods), measuring tools (such as network security scanning tools, intrusion detection systems, etc) and timely response measures. Positive thinking method is :how people block the harm of network and use a lot of intrusion network security protection technique such as data encryption, firewall, detection system, etc. But people also come up with a reverse thinking method, that is consider the problem of network security with the Angle of hackers . This topic research is part of the whole network security system, that is using namely, a network port scanning tools. The topic discussed the principle of TCP port scanning and the common methods firstly. And some TCP port scanning methods have been discussed in detail. Then write the program about based on MFC TCP port with c language . Input a LAN IP and the host of designated to scan ,you can scan for a single port , also can scan the port. In addition, in order to make the tool more vivid convenient, this topic is also refer to the compilation of the programming interface. scanning tools Finally, the topic also discussed the advantages of some common detection tools, and proposed the improving methods about the following procedure. Keywords:Network Security; Port scan; Network protocol; Network attacks
目 录 第一章 绪论..........................................................................................................1 1.1 课题背景、来源、目的和意义......................................................................................1 1.2 国内外现状......................................................................................................................2 1.3 主要研究内容..................................................................................................................3 第二章 端口扫描..................................................................................................4 2.1 端口扫描的相关知识....................................................................错误!未定义书签。 2.1.1 端口........................................................................................错误!未定义书签。 2.1.2 相关的协议............................................................................错误!未定义书签。 2.1.3 扫描的定义..............................................................................................................7 2.2 端口扫描原理..................................................................................................................7 2.3 常用的端口扫描技术......................................................................................................8 2.3.1 TCP Connect() 扫描..........................................................................................8 2.3.2 TCP SYN 扫描......................................................................................................8 2.3.3 FIN、Null 扫描模式............................................................................................ 8 2.3.4 UDP 扫描..............................................................................................................8 第三章 涉及的相关技术....................................................................................10 3.1 多线程技术....................................................................................................................10 3.2 网络套接字编程............................................................................................................11 第四章 系统的分析设计....................................................................................14 4.1 系统需求分析................................................................................................................14 4.2 系统的功能概述............................................................................................................14 4.2.1 程序设计流程........................................................................................................14 4.2.2 界面的设计............................................................................................................15 第五章 扫描工具的具体实现............................................................................18 5.1 端口扫描模块的设计与实现........................................................错误!未定义书签。 5.1.1 TCP connect()扫描的实现............................................... 错误!未定义书签。 5.1.2 多线程扫描的实现................................................................................................19 5.2 各组成模块的实现.........................................................................................................22 5.2.1 对单独的某个端口进行扫描...............................................................................22 5.2.2 对某段端口进行扫描...........................................................................................23 5.3 系统评测结果.................................................................................................................23 结束语 ................................................................................................................ 29
致 谢 ................................................................................................................ 30 参考文献 ................................................................................................................ 31
南京邮电大学通达学院 2011 届本科毕业生设计(论文) 第一章 绪论 1.1 课题背景、来源、目的和意义 课题背景 计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度 的增加,对计算机网络的依赖越来越大,网络安全问题也日益明显。1988 年 11 月, 康奈尔大学研究生罗伯特—莫里斯设计的“蠕虫”程序攻击了数千台计算机。这个程 序能进入网络中其它电脑并进行自我繁衍,上网后迅速扩散感染了 6000 多个系统 ——几乎占当时互连网的 1/10。它占用了大量的系统资源,实际上使网络陷入瘫 痪。专家称他设计的“蠕虫”病毒造成 1500 万到 1 亿美元的经济损失。而这仅仅揭 漏大规模网络入侵的序幕,自此以后,网上不甘寂寞的好事者们纷纷效仿,制造 了一系列骇人听闻的“黑客事件”。 尤其在近几年的时间内,互联网取得飞速的发展。上网的人数以几何级数的 数量急剧增加,人们越来越真实的感受到互联网的方便。无论个人用户还是企事 业单位都在不知不觉中加深对互联网的依赖。但是互联网的广泛应用使得网络安 全的提高变得越来越紧迫。目前,计算机网络面临着各种各样的威胁,这些威胁 来自各个方面,有的是由于偶然的因素或者是合法人员的失误造成的,有些是由 于攻击者的行为导致的。一般来说,网络不安全的主要原因有三方面:网络协议 自身的缺陷、网络的开放性和黑客的攻击。 来源、目的和意义 人们对计算机安全和网络安全的研究已经有较长的历史,也提出了一些行之 有效的安全策略和方法,例如身份认证、访问控制、加密/解密等许多方法,这些 都是从研究者和信息保护者的角度来考察安全问题,其实质是构筑一个坚固的防 护屏障,将各种信息置于保护屏障之后,计算机网络安全实质上是入侵者和系统 管理员之间的斗争,仅仅从任何一方考虑问题都是不够全面的,需要将二者有机 地结合起来。通俗地讲,解决计算机网络安全首先需要研究它的不安全性,这句 话向我们揭示了一种解决网络安全问题的新思路,即站在入侵者的角度来考虑计 算机系统的安全,这种方法要求我们模拟入侵者的常用手段攻击目标系统,按照 他们的思路和目标全面了解系统的各种脆弱点并采用相应的补救措施解决系统中 存在的安全性,避免入侵者再次利用这些漏洞入侵网络,事实证明,将传统的安 全解决方案和这种新的安全解决方法结合使用可以极大地提高系统的安全性,根 据这种思路研究网络安全问题,设计出方便实用的网络安全扫描工具对解决安全 问题是很有意义的。而且即使我们扫描出某些端口是打开的但我们并不知道它能 1
南京邮电大学通达学院 2011 届本科毕业生设计(论文) 带来的影响有哪些、是否可能被黑客利用。基于以上可能存在的问题我们在单纯 的扫描工具中增加了攻击工具集。模拟黑客可能进行的攻击查找攻击痕迹, 及时关闭一些危险的端口。 网络安全已成为一个很迫切的研究任务和现实课题摆在我们面前,但是网络 安全是一个系统性工程,包括一个整体的安全策略、综合各种防护工具(如防火 墙、操作系统身份认证、加密等手段)、检测工具(如网络安全扫描工具、入侵检 测系统等)和及时响应的措施。本课题的研究是整个网络安全体系的一部分,即 完善一种网络端口扫描工具。 1.2 国内外现状 国外现状 据初步统计,当今世界平均每 10 秒钟就有一起黑客事件发生,涉及政府机构、 军事部门、科研院校、金融商业等部门的计算机犯罪,严重干扰了人们的日常生 活、恶意侵犯公民隐私,造成巨大的经济损失,甚至直接或间接地威胁到国家安 全。根据美国有关安全部门统计,Internet 上 98%的计算机受到过黑客的攻击性分 析,50%的机器被黑客成功入侵,而被入侵机器中有 20%的管理员尚未发现自己已 经被入侵。Internet 已成为具有一定经济条件和技术专长的形形色色的入侵者的把 子。美国《金融时报》曾报道,入网 Internet 的计算机,达到平均每 20 秒钟被黑 客成功入侵一次的新记录,在 Internet 上的网络防火墙超过 1/3 被攻破,一些银行、 企业、行政机构都未能幸免,有调查报告指出,近 78%的信息主管,信息安全官 员及其它技术管理人员报告他们的企业或机构已经因泄密受损失。 国内现状 我国的网络安全形势也不容乐观,回顾中国的网络安全产品, 我们的结论是: 自主开发产品少, 硬软件技术受制于人, 这使我们的网络管理呈现出一种十分“虚 弱”的健康状态。主要表现在: 计算机网络的发展水平, 安全技术和管理手段不配 套; 计算机从产品到技术严重依赖外国, 我们虽然在操作系统的研制、国产数据库 的开发上作过一些有益的工作, 但是“杯水车薪”, 难以形成体系。因此, 在网络安 全产品方面, 中国同国外的差距至少有 5-10 年, 这一方面源于我国总体上应用技 术开发落后; 另一方面我国的网络在工商业中应用的范围和水平都还比较低, 因 而善良地希望黑客不光顾也是难以办到的, 中国的古训早有: 害人之心不可有, 防 人之心不可无”。 2
分享到:
收藏