0综合实践项目1网络安全所面临的威胁.docx
- 文档编号:28521997
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:18
- 大小:2.39MB
0综合实践项目1网络安全所面临的威胁.docx
《0综合实践项目1网络安全所面临的威胁.docx》由会员分享,可在线阅读,更多相关《0综合实践项目1网络安全所面临的威胁.docx(18页珍藏版)》请在冰豆网上搜索。
0综合实践项目1网络安全所面临的威胁
PINGDINGSHANUNIVERSITY
课程项目报告
题目:
端口扫描及其论述
院(系):
计算机学院(软件学院)
专业年级:
软件工程2014级
姓名:
第六组组长:
(江浩)
学号:
*********
指导教师:
杨照峰副教授
2016年10月9日
端口扫描及其论述
摘要
在当今社会,信息技术的快速发展,使得以计算机、通信等技术变得日益更新,发展非常快,从而影响了政治经济和生活登各方各面领域的飞速发展,然而,网络是把双刃剑,在给人们生活带来便利的同时,网络的安全问题也日益突出和重要。
所以,网络是把双刃剑,在给人们带来便利的同时也给人们带来了危险,危险的例子也屡见不鲜,所以我们应该了解网络安全中面临的危险。
端口扫描是搜集信息的第一步,起着很重要的作用。
我们把文档分为三部分:
第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。
然后,简单介绍一下经典的SYN(半连接)扫描工具以及UDP扫描工具。
第二部分主要讨论了关于TCP的SYN扫描实验得出总结被扫描的PC,回复[RST,ACK]表示端口没开,回复【SYN,ACK】说明目标计算机的端口已经开放。
第三部分介绍了一种UDP扫描实验,得到当向一个未开放的UDP端口发送数据时,其主机就会反回一个ICMP不可到达(ICMP_PORT_UNREACHABLE)的错误,因此大多数UDP端口扫描的方法就是向各个被扫描的UDP端口发送零字节的UDP数据包,如果收到一个ICMP不可到达的回应,那么则认为这个端口是关闭的,对于没有回应的端口则认为是开放的。
关键词:
网络安全,端口扫描,TCP连接,UDP连接
1绪论
计算机和信息技术的飞速发展,网络的日益普及,深刻地改变着人们的生活方式、生产方式与管理方式,加快了国家现代化和社会文化的发展。
21世纪的竞争是经济全球化和信息化的竞争,“谁掌握信息,谁就掌握了世界”,信息安全不仅关系到公民个人,企业团体的日常生活,更是影响国家安全,社会稳定的至关重要的因素之一。
今年来,我国网络安全事件发生的比例呈上升趋势,调查结果显示绝大多数网民的主机曾经感冒病毒,超过一半的网民经历过账号/个人信息被盗窃、被篡改,部分网民曾被仿冒网站欺骗。
在经济利益的驱使下,制造、贩卖病毒木马、进行网络盗窃或诈骗、教授网络攻击技术等形式的网络犯罪活动明显增多,造成了巨大的经济损失和安全威胁,严重影响了我国互联网事业的健康发展。
1.1课题的背景及意义
我们主要使用了TCP的连接(三次握手)以及使用软件SSprot进行TCP
的SYN实验,同时使用了Nmap扫描工具进行UDP的端口扫描实验。
1.2端口扫描的意义和端口扫描分类
1.2.1端口扫描的意义
一个端口就是一个潜在的通信通道,也就是一个入侵通道。
对目标计算机进行端口扫描,能得到许多有用的信息。
进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。
在手工进行扫描时,需要熟悉各种命令。
对命令执行后的输出进行分析。
用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
一直以来,UDP相对于TCP来说,它是比较被人忽略的,即使是管理员在安全检查的时候,对UDP端口的开放情况也是很不太重视的,正因为如此,才使得UDP木马流行起来,Back Orifice木马就是一个很经典的例子.对于一名入侵者来说,对目标主机进行UDP端口进行探测是很有必要的,因为我们有可能从此得到很多有用的信息及可以利用的漏洞,几个常见的开放在UDP上的服务有:
69(TFTP)小文件传输协议,其安全性极差,因为它不带任何的安全认证,经常用来夺取远程主机的密码文件.161(SNMP) 简单网络管理协议,在win2k上默认情况其community string密码为"public",在默认情况下,可以利用该服务得到系统版本,用户列表,共享列表,进程列表。
除了上面的以外,还有很多其它的UDP端口,如520(RIP--路由协议),31777(Back Orifice木马),4000.5000(OICQ),一些运行在高端端口(32770以上)的RPC服务也有开放UDP端口。
因此,如何避免端口扫描成为了重中之重。
1.2.2端口扫描的分类
端口扫描大致可以分为四类及TCPSYN扫描,TCPconnect扫描,秘密扫描,和其他扫描,具体分类如图1-1所示:
图1-1端口扫描的分类
2端口扫描相关技术及工具介绍
2.1端口扫描相关技术
2.1.1TCP/IP相关问题
连接端及标记IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。
为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。
TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。
连接端互相发送数据包。
一个TCP数据包包括一个TCP头,后面是选项和数据。
一个TCP头包含6个标志位。
它们的意义分别为:
SYN:
标志位用来建立连接,让连接双方同步序列号。
如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。
FIN:
表示发送端已经没有数据要求传输了,希望释放连接。
RST:
用来复位一个连接。
RST标志置位的数据包称为复位包。
一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。
URG:
为紧急数据标志。
如果它为1,表示本数据包中包含紧急数据。
此时紧急数据指针有效。
ACK:
为确认标志位。
如果为1,表示包中的确认号时有效的。
否则,包中的确认号无效。
PSH:
如果置位,接收端应尽快把数据传送给应用层。
2.1.2三次握手原理
三次握手(threetimeshandshake;three-wayhandshake)所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。
如图2-1所示
图2-1三次握手原理
为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。
TCP总是用来发送大批量的数据。
当应用程序在收到数据后要做出确认时也要用到TCP。
如图2-2所示:
图2-2TCP的发送
具体过程如下:
第一次握手:
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:
同步序列编号
第二次握手:
服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
2.1.3大部分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,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。
所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起“FIN行为”。
2.1.4UDP的特点
1.UDP是无连接的
2.UDP使用尽最大努力交付,既不保证可靠交付。
3.UDP是面向报文的。
4.UDP没有拥塞控制,因此网络出现的拥塞不会是源主机的发送速率降低。
5.UDP支持一对一、一对多、多对一和多对多的互通。
6.UDP的首部开销小,只有八个字节。
2.2端口扫描工具
2.2.1SSPort扫描工具
作用:
扫描远程电脑端口是否开放
功能:
1.高速扫描:
扫描的速度只跟你的CPU的速度有关。
现在的极限速度是每秒扫1000个端口。
2.无级变速:
在扫描的过程当中可以调节扫描的速度3.方便易用:
绿色软件,不需安装。
只要把标准的IP数据库copy到软件的目录,就可以很方便的输入指定地区的IP段。
4.中英文界面:
在简体中文系统显示中文,其他系统显示英文,适应不同的操作系统。
2.2.2Nmap扫描工具
Nmap是一款开源免费的网络发现(NetworkDiscovery)和安全审计(SecurityAuditing)工具。
软件名字Nmap是NetworkMapper的简称。
Nmap最初是由Fyodor在1997年开始创建的。
随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。
一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。
Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
Namp的优点:
1.灵活、支持数十种不同的扫描方式,支持多种目标对象的扫描。
2.强大、Nmap可以用于扫描互联网上大规模的计算机。
3.可移植、支持主流操作系统:
Windows/Linux/Unix/MacOS等等;源码开放,方便移植。
4.简单、提供默认的操作能覆盖大部分功能,基本端口扫描nmaptargetip,全面的扫描nmap–Atargetip。
5.自由、Nmap作为开源软件,在GPLLicense的范围内可以自由的使用。
6.文档丰富、Nmap官网提供了详细的文档描述。
Nmap作者及其他安全专家编写了多部Nmap参考书籍。
7.社区支持、Nmap背后有强大的社区团队支持。
8.赞誉有加、获得很多的奖励,并在很多影视作品中出现(如黑客帝国2、DieHard4等)。
9.流行、目前Nmap已经被成千上万的安全专家列为必备的工具之一。
3TCP的SYN扫描实验
TCP是一个可靠连接,在进行连接前要进行三次握手!
如图3-1所示。
图3-1TCP的三次握手
TCP端口扫描是通过SYN数据包进行的,用于扫描目标机器的端口上是否存在程序监听,通常意义上,普通个人机器上的某个端口如果有程序监听的话,那么它一般是系统漏洞。
由于TCP是一个有连接的可靠协议,所以要使用三次握手来建立连接,三次握手的报文分别是(SYN)、(ACKSYN)和(ACK)。
进行端口扫描时,首先向对方主机的某一端口发送(SYN)报文,如果对方这一端口上有程序在监听(或者说存在漏洞),则回复(SYNACK)报文,否则回复(RST)报文。
据此就可以判断对方端口上是否有程序在监听了,或者是否存在漏洞了。
下面我们就使用端口扫描工具进行扫描目标计算机:
如图3-2所示:
图3-2端口扫描计算机图
使用软件SSprot,如下图我使用该软件扫描目标计算机的3350-3390端口,主要目的是看目标计算机是否开放了3389端口,在实验的时候我已经在目标计算机上开放了3389,保证实验的成功。
如图3-3所示:
图3-3SSprot软件扫描端口
首先开启抓包软件,然后启动端口扫描工具SSport,进行快速扫描。
扫描完成结束后需要耐心等待一会,如下图产生了大量的TCP数据包,如果你立即停止抓包可能会有些数据包还在传送。
如图3-4所示:
图3-4开启抓包软件
耐心等待后,我们查看下都抓到了些什么数据包,如下图扫描工具发送了大量的syn数据包,由于目标计算机没有开放这些端口,所以反馈给了扫描计算机[RST,ACK]说这些端口我没有开放,也就是说目标计算机这些端口没有在监听(注意这个必须在防火墙关闭的情况下,如果防火墙开启的情况下,被扫描的目标计算机并不会对没有开启的端口进行回应[RST,ACT],而是直接不回应)。
如图3-5所示:
图3-5查看捕获数据包
我把视图往下拉了一点,如下图因为目标计算机的3389是开放的,所以目标计算机回应了安装扫描软件的计算机一个【syn,ack】的数据包,说明目标计算机的3389端口正在监听中。
如图3-6所示:
图3-6分析数据包
我们通过telnet目标计算机看下3389是否成功。
如图3-7所示:
图3-7通过telnet目标计算机
总结:
以上就是TCP的syn扫描,总之被扫描的PC,回复[RST,ACK]表示端口没开,回复【SYN,ACK】说明目标计算机的端口已经开放。
4UDP扫描实验
UDP全称"User Datagram Protocol",即是"用户数据报文协议",是一个不可靠的无链接的协议,它不象TCP协议那样是面对面连接的,在TCP的端口扫描中,最简单的方法可以利用connect()调用,如果目标主机的端口处于监听状态,则connect()可以成功,也既是可以认为这个TCP端口是开放的,否则认为是关闭的.但是在UDP端口扫描中我们无法这样做,因为它是个无链接的协议,当我们向目标主机的UDP端口发送数据,我们并不能收到一个开放端口的确认信息,或是关闭端口的错误信息.可是幸运的是,在大多数情况下,当向一个未开放的UDP端口发送数据时,其主机就会反回一个ICMP不可到达(ICMP_PORT_UNREACHABLE)的错误,因此大多数UDP端口扫描的方法就是向各个被扫描的UDP端口发送零字节的UDP数据包,如果收到一个ICMP不可到达的回应,那么则认为这个端口是关闭的,对于没有回应的端口则认为是开放的,但是如果目标主机安装有防火墙或其它可以过滤数据包的软硬件,那我们发出UDP数据包后,将可能得不到任何回应,我们将会见到所有的被扫描端口都是开放的。
我们可以使用nmap来扫描端口UDP可以使用下面的命令来看看。
如图4-1所示:
图4-1nmap-sU202.96.128.86-p53–Pn
nmap命令行中的 -sU 表示扫描UDP端口。
如图4-2所示:
图4-2nmap命令行中的 -sU 表示扫描UDP端口
命令行中的参数-p53是指定扫描的端口53如果是扫描其它的端口测试可以根据自己的要求进行定义,例如 –p1433 这样:
-p
Onlyscanspecifiedports
Ex:
-p22;-p1-65535;-pU:
53,111,137,T:
21-25,80,139,8080,S:
9如图4-3所示:
图4-3指定端口扫描
nmap-sU202.96.128.166-p53-Pn 里边包含的-Pn参数是绕过ping进行扫描,如果有些服务器是放在防火墙下面的禁PING的,就有可能会被跳过。
所以用-Pn来强制性地扫描。
如图4-4所示:
图4-4强制性端口扫描
如果服务器禁PING或者放在防火墙下面的,不加-Pn参数的它就会认为这个扫描的主机不存活就不会进行扫描了,如果不加-Pn就会像下面的结果一样,它也会进行提示你添加上-Pn参数尝试的。
如图4-5所示:
图4-5提示添加-Pn参数
从nmap扫描的结果来进行分析可以看到端口是开放还是关闭的,或者有没有其它的信息报告等。
如图4-6所示:
图4-6nmap分析端口
从上边的结果进行查看到端口是开放的,以及有个filtered的显示,说明是有防护在里边做到的,所以需要加个-Pn才能正常测试
5总结
端口是一个16位号码,用来标识把消息传输到哪个更高层协议或者应用程序(进程)。
它由TCP/IP协议定义的,其中规定,用EP地址和端口作为套接字(socket),代表TCP连接的一个连接端。
端口与进程是一一对应的,如果某个进程正在等待连接,那么就会出现与之对应的端口,称之为该进程正在相应端口监听,或者说相应的端口是打开的111。
在Intemet上。
按照协议类型分类,端ISI被分为TCP端口和UDP端口两类。
从端口的分配来看,端口被分为固定端口和动态端口两大类。
端口扫描是通过发送特定类型的TCP/UDP报文给所要扫描的目标主机的全部或特定端口,诱发目标主机回复响应报文,分析返回的响应报文来推断目标主机端口的状态等信息。
最基本的端口扫描就是使用TCPconnect全开扫描,这种扫描方法使用TCP协议“三次握手”,与目标主机建立标准的TCP连接。
如果连接,就说明相应的端口打开121。
这种扫描的检测结果是最精确的.但它与目标主机建立了大量的连接,因而很容易被目标主机记录并加以拒绝。
而端口扫描要顺利地实现其探测目标端12/信息的目的,必须同时具备两个特点:
有效性和隐蔽性,即有效地获取目标端口信息的同时又尽量做到不被目标主机所发觉。
下面对端口扫描攻击的防御从防火墙技术本身进行改进。
改进思路如下:
1)从到达防火墙的数据包中通过提取数据包的IP头指针和TCP头指针得到该包的源IP地址、目的IP地址、目的端口号、TCP标志位的信息等,这些信息是判断该数据包是不是用于扫描的数据包的关键信息:
2)分析TCP扫描数据包的标志位特征,明确它与正常数据包的区别;3)通过异常访问检测法实现对端口扫描攻击的防御。
此外,各反扫描功能模块的设计思路是:
反SYN扫描模块、反ACK扫描模块、反FIN扫描模块、反NULL扫描模块和反Xmas扫描这五个反扫描模块采用的是TCP标志位检测法,分别针对五种TCP端I=1扫描方式进行检测和防御。
TCP协议报头标志位和这五种TCP端口扫描方式的描述,它们的TCP协议标志位特征为:
SYN扫描;SYN、ACK扫描;ACK、FIN扫描;FIN、NULL扫描;Xmas扫描:
RN4-PsH.4-URG。
为防范端口扫描.通常是在防火墙的设置中严格控制异常TCP标志位的数据包和不可信IP地址的数据包的流进流出。
我们还应该做到在扫描行为发生之后能及时地发现它,然后再采取防御措施来阻止其下一步的攻击。
于是对现有网络典型端口扫描攻击的方式进行一定的改进。
可以进一步提升网络的安全性。
参考文献
[1] 石志国,薛为民等. 计算机网络安全教程[M]. 北京:
清华大学出版社, 2007:
109-207
[2] 谢希仁 计算机网络原理(第五版).北京:
电子工业出版社, 2008.1
[3] 唐鑫; 网络安全端口扫描系统的研究 科技创新导报 2008
[4] 杨成卫, “端口侦听”与“端口扫描”研究, 警察技术, 2006.03
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 实践 项目 网络安全 面临 威胁