端口扫描实验结果分析_端口扫描攻击实验报告

hacker|
141

毕业论文 基于TCP/IP三次握手的端口扫描技术

基于TCP/IP 端口扫描技术

[摘要] 本文讲述了TCP联接的建立过程,以及介绍了一些经典的扫描器以及所谓的SYN扫描器的使用,以及隐藏攻击源的技术,最好介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。 关键字:

TCP/IP,UDP,三阶段握手,SYN扫描,FIN扫描,秘密扫描,间接扫描,诱骗扫描,指纹,协作扫描。

--------------------------------------------------------------------------------

正文:

端口扫描技术

前言

第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。

然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。

第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。

秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN 段返回一个RST,但是打开的端口通常丢弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。

第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描(ident scanning)也被成为代理扫描(proxy scanning)。

最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。

一:TCP/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: 如果置位,接收端应尽快把数据传送给应用层。

TCP连接的建立

TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):

1: C --SYN XXà S

2: C ?-SYN YY/ACK XX+1------- S

3: C ----ACK YY+1--à S

1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。

2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。

3:C 对从S 来的SYN进行应答,数据发送开始。

一些实现细节

大部分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行为"。

二:全TCP连接和SYN扫描器

全TCP连接

全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。

这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。

TCP SYN扫描

在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

三:秘密扫描与间接扫描

秘密扫描技术

由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。

秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。

Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。

秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。

跟SYN扫描类似,秘密扫描也需要自己构造IP 包。

间接扫描

间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:

假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。

四:认证扫描和代理扫描

认证扫描

到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。

认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。

代理扫描

文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。

ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:

1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。

2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。

3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。

4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否则S回收到"425无法打开数据连接"的应答。

5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。

FTP代理扫描不但难以跟踪,而且当ftp服务器在_blank"防火墙后面的时候

五:其它扫描方法

Ping扫描

如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。

1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。

2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用。

安全扫描器

安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们。它们主要要解决以下问题:

1:是否允许匿名登录。

2:是否某种网络服务需要认证。

3:是否存在已知安全漏洞。

可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂。

栈指纹

绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。

远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP,TELNET,HTTP和DNS服务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在只能最多只能识别出10余种操作系统。

最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。 QueSO第一个实现了使用分离的数据库于指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。

这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。

另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP对探测的回应,就可以发现 TCP实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统。

栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:

1:FIN探测

2:BOGUS标记探测

3:TCP ISN 取样

4:TCP 初始窗口

5:ACK值

6:ICMP错误信息

7:ICMP信息

8:服务类型

9:TCP选项

如何通过端口扫描发现目标主机的状态

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。

一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行扫描。

在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。

通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。

以上定义只针对网络通信端口,端口扫描在某些场合还可以定义为广泛的设备端口扫描,比如某些管理软件可以动态扫描各种计算机外设端口的开放状态,并进行管理和监控,这类系统常见的如USB管理系统、各种外设管理系统等。

2扫描工具编辑

扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。

3工作原理编辑

扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑.

4技术分类编辑

1、开放扫描;

2、半开放扫描;

3、隐蔽扫描。

5其它相关编辑

作用

扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。

扫描器应该有三项功能:发现一个主机或网络的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。

编写扫描器程序必须要很多TCP/IP程序编写和C,Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。

端口号

代理服务器常用以下端口:

⑴. HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

⑵. SOCKS代理协议服务器常用端口号:1080

⑶. FTP(文件传输)协议代理服务器常用端口号:21

⑷. Telnet(远程登录)协议代理服务器常用端口:23

HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);

HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;

Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口);

FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);

TFTP(Trivial File Transfer Protocol),默认的端口号为69/udp;

SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;

SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口);

POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;

WebLogic,默认的端口号为7001;

Webshpere应用程序,默认的端口号为9080;

webshpere管理工具,默认的端口号为9090;

JBOSS,默认的端口号为8080;

TOMCAT,默认的端口号为8080;

WIN2003远程登陆,默认的端口号为3389;

Symantec AV/Filter for MSE,默认端口号为 8081;

Oracle 数据库,默认的端口号为1521;

ORACLE EMCTL,默认的端口号为1158;

Oracle XDB(XML 数据库),默认的端口号为8080;

Oracle XDB FTP服务,默认的端口号为2100;

MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;

MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp;

QQ,默认的端口号为1080/udp[1]

扫描分类

TCP connect() 扫描

这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。

TCP SYN扫描

这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。

TCP FIN 扫描

有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。

IP段扫描

这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。

TCP 反向 ident扫描

ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此你能,举个例子,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。

FTP 返回攻击

FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。即入侵者可以从自己的计算机和目标主机的FTP server-PI(协议解释器)连接,建立一个控制通信连接。然后,请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给Internet上任何地方发送文件。对于一个User-DTP,这是个推测,尽管RFC明确地定义请求一个服务器发送文件到另一个服务器是可以的。给许多服务器造成打击,用尽磁盘,企图越过防火墙”。

我们利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。这样,你能在一个防火墙后面连接到一个FTP服务器,然后扫描端口(这些原来有可能被阻塞)。如果FTP服务器允许从一个目录读写数据,你就能发送任意的数据到发现的打开的端口。[2]

对于端口扫描,这个技术是使用PORT命令来表示被动的User DTP正在目标计算机上的某个端口侦听。然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。否则,会出现"425 Can't build data connection: Connection refused."。然后,使用另一个PORT命令,尝试目标计算机上的下一个端口。这种方法的优点很明显,难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTP服务器最终能得到一些线索,关闭代理功能。

这种方法能成功的情景:

220 xxxx. FTP server (Version wu-2.4⑶ Wed Dec 14 ...) ready.

220 xxx.xxx. FTP server ready.

220 xx.Telcom. FTP server (Version wu-2.4⑶ Tue Jun 11 ...) ready.

220 lem FTP server (SunOS 4.1) ready.

220 xxx. FTP server (Version wu-2.4⑾ Sat Apr 27 ...) ready.

220 elios FTP server (SunOS 4.1) ready

这种方法不能成功的情景:

220 wcarchive. FTP server (Version DG-2.0.39 Sun May 4 ...) ready.

220 xxx.xx.xx. Version wu-2.4.2-academ[BETA-12]⑴ Fri Feb 7

220 ftp Microsoft FTP Service (Version 3.0).

220 xxx FTP server (Version wu-2.4.2-academ[BETA-11]⑴ Tue Sep 3 ...) ready.

220 xxx.FTP server (Version wu-2.4.2-academ[BETA-13]⑹ ...) ready.

不能扫描

这种方法与上面几种方法的不同之处在于使用的是UDP协议。由于这个协议很简单,所以扫描变得相对比较困难。这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。幸运的是,许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丢失的时候能重新传输。这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。同样,这种扫描方法需要具有root权限。

扫描

当非root用户不能直接读到端口不能到达错误时,Linux能间接地在它们到达时通知用户。比如,对一个关闭的端口的第二个write()调用将失败。在非阻塞的UDP套接字上调用recvfrom()时,如果ICMP出错还没有到达时回返回EAGAIN-重试。如果ICMP到达时,返回ECONNREFUSED-连接被拒绝。这就是用来查看端口是否打开的技术。

这并不是真正意义上的扫描。但有时通过ping,在判断在一个网络上主机是否开机时非常有用。[2]

电脑高手来教一下 谢谢

防网络攻击的(我的简单解释),如果想知道详细的,你可以在百度里面搜索“防火墙的用途”

而哪里呢,看看下面这个文章,怎么操作?具体不同的防火墙不同的操作!

八款网络防火墙主要功能介绍

一、傲盾防火墙

以Administrator身份登录Windows2000/XP后安装KFW程序,完成后重新启动加载核心程序。首次启动KFW会弹出设置向导,一般使用默认设置即可。

1、防火墙规则设置

双击任务栏的图标弹出主界面,KFW防火墙已经内置42条规则,其中包括了20条标准安全规则及22条针对主流木马程序的规则,这些规则能够确保系统安全。双击任意一条规则可以进行编辑。KFW还提供5个安全等级,一般情况下使用中、高级即可,另外,还可根据网上安全情况来动态的设置规则,比如震荡波病毒在网上猖獗时可以添加对5554、1068、445等端口的拦截。

2、应用程序规则

KFW防火墙可以对应用程序设置规则,这项功能对付木马十分有用。每当有新的程序要访问网络时,KFW都会弹出确认框,它还可以对应用程序的收发数据包进行控制,并对数据包设置跟踪。

3、数据包过滤和记录

KFW防火墙有专业级别的包内容记录功能,可以使您更深入的了解各种攻击包的结构。实时数据包地址 、类型过滤可以阻止木马的入侵和对危险端口的扫描。例如过滤蓝色代码病毒性攻击包等,也可防范ICQ、QQ的死机攻击。

4、网络端口列表

KFW防火墙的网络端口列表窗口中列出了所有使用网络端口的应用程序及其所使用的端口。 除了以上功能外,IP翻译数据库还可以显示出IP地址所对应地理位置。

二、Agnitum Outpost Firewall

Agnitum Outpost Firewall 是一款短小精悍的网络防火墙软件,它能够从系统和应用两个层面,对网络连接、广告、内容、插件、邮件附件以及攻击检测多个方面进行保护,预防来自 Cookies、广告、电子邮件病毒、后门、窃密软件、解密高手、广告软件的危害。

1、应用程序规则

Outpost 个人防火墙的应用程序过滤是一个重要功能,设置分为“禁止”、“部分允许”和“允许”三种。Outpost已经在安装时为常用的网络应用程序预设了规则,参照它们你可以手动建立新的访问规则。另外,Outpost个人防火墙还能够对电脑实施系统级的防护。局域网通信:应用于局域网的文件和打印机共享,只有在开启的状态下才能实现文件的共享。ICMP:ICMP过滤让你设置所允许的ICMP信息类型和方向。全局性过滤是创建一个通用的规则来适用于所有应用程序的过滤规则或规范低层的系统级网络活动。

2、防火墙应用

Outpost 个人防火墙的特点在于使用简单,安装运行后立刻开始工作,无须用户做复杂的设置工作。Outpost个人防火墙有五种防护模式,运行时会在系统托盘区显示目前处于哪一种防护模式下。切换模式可能通过程序在托盘图标中的右键菜单来完成。如果你发现有网络入侵时,应立即停止所有网络访问。

3、插件功能

Outpost 个人防火墙的一大特色是插件功能,这些插件之间以及与主防火墙模块之间是相互独立的,通过插件这种开放式结构,可以使功能得到进一步扩展,为对付不断出现的新型网络非法入侵提供了方便。Outpost个人防火墙默认的插件有广告过滤、入侵检测、内容过滤、附件过滤、活动内容过滤、DNS缓存等。

广告过滤:通过检测网页中的字符串和带超级链接的图象尺寸的方法,阻止网页上的旗帜广告(banner)的显示,如果想要保留某个网站中的广告,可以把它的网址添加到信任站点列表中,这样就能正常显示了。

入侵检测:可以检测到来自Internet网和局域网的多种网络入侵,其中入侵检测能够检测并阻止DoS攻击;网络扫描检测能够检测到简单的TCP和UDP端口扫描等隐身扫描。你也可以根据情况设定屏蔽入侵者IP的时间或保存接收到的可疑数据包。

内容过滤:阻止浏览符合过滤条件的网页和网站。阻止的方法有两种,一种是不显示含有过滤词汇的网页,常用于防止儿童浏览有黄色内容的网页。另一种是过滤网页URL地址,不下载符合过滤条件的网站内容。

活动内容过滤:可以控制网页和电子邮件、新闻组中的ActiveX、Java applets、JavaScript、VBSript、Cookies等网页活动脚本的动作,也可以阻止弹出式广告和FLASH动画的播放。

附件过滤:将具有危害的附件后缀名如.scr.bat.com.exe等添加到列表中,当邮件的附件中发现了这些后缀名文件时,就将其改名,防止因误操作而造成病毒发作。还提供了在线测试电脑功能。应用时选择“工具”→“在线测试计算机”命令来连接网站,选择好测试的项目单击“start test”即可。

三、GoldTach Pro “金指环”

影片《魔戒》中那个充满魔力的指环一定给你留下了深刻的印象,笔者今天介绍的“金指环GoldTach Pro”是一款个人防火墙软件,它不但可以阻止黑客的网络攻击,还具有屏蔽广告,防止恶意脚本破坏等功能,并且它的界面做得非常漂亮。

安装完毕后重新启动电脑,首次运行时会弹出学习向导,通过它你可以了解一下防火墙的基本应用。接下来是配置向导,通过它可以来进行一些基本的设置,比如本机的IP地址、安全控制级别以及要过滤的选项等,一般采用GoldTach Pro的默认设置即可。程序的界面是一个非常漂亮的金指环(如图3所示),点击左边的三颗“宝石”可以调整安全级别,右边那只握着指环的手每根手指都是一个按钮。按下食指可以锁定网络,按下中指可以关闭所有网络连接,点击无名指和小指可以禁用和隐藏本软件。

如果你不太习惯,可以单击右边的大拇指切换到常规界面。这里除了可以象一般防火墙那样查看到端口的流量、本机和远端的IP地址、通行记录等网络状态以外,还可以查看到封包的大小以及被拦截的IP包等详细情况。下面笔者介绍一下这款防火墙的三大主要功能:

1、IP规则

开启“金指环”,当电脑中有程序首次访问网络时,会自动弹出询问提示,你可以选择禁止或放行。也可以右击托盘区的金指环程序图标,选择“规则设置”命令,在“应用程序”窗口中自行添加,然后设置这个程序是否可以访问网络、成为服务或发送邮件等内容。

在“IP封包”标签中可以设置IP规则,来阻止有害的数据包从特定的端口流入和流出。比如不允许别人访问本机的共享资源(如共享文件夹、网络打印机等,可以设置IP规则,封闭TCP134-TCP139端口。被拦截数据包的详细情况可以在“被阻塞的IP包”窗口中查看。

2、拦截病毒邮件

在“电子邮件”标签中,可以添加危险的邮件附件后缀名,比如今年蠕虫病毒经常使用的“*.scr、*.pif、vbs”等,当接收到含有此类附件的邮件时会发出警告并进行过滤,使你的安全得到充分的保障。GoldTach Pro支持包括Outlook和Foxmail在内的多种邮件客户端软件。

3、网页WSH脚本过滤

上网冲浪时,经常被扑面而来的广告搅得心烦意乱,如果再遇到网页恶意代码就更雪上加霜了,但一般防火墙只能防御普通的黑客扫描或攻击,对恶意网页和广告却无能为力。GoldTach Pro正好填补了这一空白,单击“网页内容”标签,勾选“屏蔽弹出式广告窗口”和“屏蔽浏览器窗口中的移动层”(即漂浮广告)让你的屏幕清爽起来;勾选 “自动禁止Windows Scripting Host脚本”和“屏蔽网页脚本中自动创建对象”两项,打开网页时GoldTach Pro会对网页中的代码进行逐行分析,如果遇到了恶意代码就进行屏蔽,从而使你可以免受恶意脚本的攻击。除了IE以外它还支持Netscape、 Opera等浏览器。

除了以上主要功能,GoldTach Pro还具有查看、保存进程列表和注册表启动项;修复IE右键菜单、开始菜单以及注册表编辑器等功能,非常实用。

四、Sygate Personal Firewall Pro

Sygate Personal Firewall个人防火墙能对网络、信息内容、应用程序、以及操作系统提供多层面全方位保护,可以有效而且具有前瞻性地防止黑客、木马和其它未知网络威胁的入侵。与其他的防火墙不同的是,Sygate Personal Firewall 能够从系统内部进行保护,并且可以在后台不间断地运行。另外它还提供有安全访问和访问监视功能,并可向你提供所有用户的活动报告,当检测到入侵和不当的使用后,能够立即发出警报。

安装后运行,我们可以在界面上看到不断滚动的、以曲线图方式显示的实时网络状态,其中中间部分为网络进出的流量及总量,右边为受到攻击的历史图表。下面显示的是系统中运行的程序哪些正在访问网络,具体信息包括协议、监听状态、本机和远程的端口以及IP地址等。去掉“隐藏WINDOWS服务”选项前的勾,还可以查看到所有的服务。单击下方的“Show Message Console”按钮可以显示软件的操作记录。

1、更加强大的应用程序规则

Sygate Personal Firewall Pro是以应用程序为中心的防火墙,所以它的应用程序规则设置更加强大。单击工具栏上的“Applications”按钮,列表中显示的是访问过网络的所有程序名称、路径以及规则设置,每点击一次最左边的图标,将在允许、禁止和询问间进行切换。选择一个程序点击下面的“高级”按钮,可以进行更详细的设置。例如规定它所使用的协议、端口以及IP地址段;勾选“启用时间安排”还可以设定它每天开始运行的时间以及持续的时间,超时后会自动终止它访问网络的权力。

2、限制网络邻居通信

目前有许多病毒通过局域网以及网络共享进行传播,在“工具/选项/网络邻居”中可以设置禁止本机别人浏览和共享你的文件和打印机。然后再到“常规”标签下勾选“在屏保模式时禁止网络邻居通讯”和“通知前发出声音提示”两项,以便在你离开时不会受到攻击。你还可以设置安全密码,防止别人篡改设置。

3、更多的安全保护

Sygate Personal Firewall Pro在“工具/选项/安全”中还有更多的安全设置选项,你可以选择开启入侵监测和端口扫描检测,并打开驱动程序级保护、NETBIOS保护,这样当受到攻击例如特洛伊木马恶意下载、拒绝服务(DoS)攻击等,它能够自动切断与对方主机的连接,你可以设置中断与这一IP连接的持续时间,单位为秒,默认为 10分钟。另外你还可开启隐身模式浏览、反IP欺骗、反MAC欺骗等选项,以防止黑客获得你的计算机信息。

4、安全测试

Sygate Personal Firewall Pro还提供了在线安全测试功能,点击工具栏上的“TEXT”按钮,打开测试网页,左边列出了6种不同方式的在线安全测试:

Quick scan:常规快速扫描,包括计算机端口,协议,服务和特洛伊木马等。速度比较快,一般不超过一分钟。Quickscan完成后,操作将被记入Sygate Personal Firewall Pro安全日志中。

Stealth scan 使用特别的偷听技巧扫描,它模仿合法的计算机通讯来检测计算机的存在。速度与第一项差不多。

Trojan scan:扫描计算机上所有的65535个端口,来寻找活动的特洛伊木马程序。Trojan scan至少要耗时10分钟才能完成,网站上有常见特洛伊木马的列表。

TCP scan:检测为TCP服务预留的1024个端口,比如即时消息服务等,获知那些端口是打开的。打开的端口暗示着安全漏洞,这些漏洞可以被恶意的黑客利用。

UDP scan:使用不同的方法和协议探测UDP的开放端口。将扫描路由器和用户上网代理服务器等类似设备,耗时大约10分钟。 所有动作将被记录到Sygate Personal Firewall安全日志中。

当进行扫描时请关闭包括Sygate Personal Firewall在内的所有防火墙,否则可能所有的扫描都将会被阻止,每项扫描完成后会显示出结果和可入侵性评估。Sygate Personal Firewall还具有自动在线升级、电子邮件到达通知等功能。

五、ZoneAlarm

ZoneAlarm 是一款老牌的防火墙产品,最新的V5.0版本性能稳定,对资源的要求不高,非常适合家庭个人用户的使用。能够监视来自网络内外的通讯情况,同时兼具危险附件隔离、cookies保护和弹出式广告条拦截等六大特色功能。安装后运行,在系统概要中你可以自行设置程序界面的颜色、修改密码以及自动更新等内容。软件本身带有一个简单的使用教程,但要想发挥最大性能还需要手动进行设置。

1、网络防火墙的应用

在ZoneAlarm中单击“防火墙”标签,我们可以看到ZoneAlarm将用户的网络连接安全区域分为三类:Internet区域、可信任区域和禁止区域。通过调整滑块可以方便的改变各个区域安全级别,当设置为最高时,你的计算机将在网络上不可见,并禁止一切共享。

除此以外,单击“定制”按钮你还可以自行定义防火墙允许对外开发的系统端口。例如,我们想允许对外的DNS和DHCP服务,则选中“允许出站DNS”和“允许出站 DHCP”前的复选框。如果本机上架设了Web服务器,希望外部可以访问,则选中“允许出站TCP 端口”,并在下方的“端口”框中输入Web服务器的端口号“80”,如果有多个端口,需要以逗号隔开,但注意要使用半角字符,否则无效。如“21,80, 8080”或“21,80,2000-2100”,单击确定后即可生效。

在高级标签中,你还可以设置到达某一时间自动禁止所有或部分网络连接,这样可以控制你的上网时间。

2、应用程序控制

当本机的某个应用程序首次访问网络时,ZoneAlarm会自动弹出黄色的对话框,询问是否允许该程序访问网络,否则会弹出蓝色的重复程序提示框。在“程序控制”中你可以通过滑块来调整控制级别,当调到最高时将开启高级程序控制(即当一个程序试图利用其他程序访问网络时将会通知你)和组件控制(即进行程序身份验证,防止恶意程序替换原程序来访问网络)。在“程序”选项卡中你可以自己进行添加和修改程序访问权限,在“组件”选项中卡显示有DLL和OCX等文件的详细资料,对于可疑的文件可以设置访问网络时进行询问。

3、隐私保护

ZoneAlarm提供了强大的隐私保护功能,主要包括Cookie、弹出式广告和活动脚本三个方面。①调整Cookie滑块可以禁止会话Cookie和永久Cookie的写入,还可以自定义Cookie过期时间,比如收到后立即失效或过N天后失效。②广告过滤可以拦截弹出式广告窗口、网页上的动画广告以及横幅、纵幅广告等。你可以根据自己的喜好选择在原广告位置显示的内容,例如空白、AD字符串或者鼠标移动上去后显示广告窗口。③打开活动脚本控制,可以选择屏蔽Javascript、vbscript、嵌入对象(java、ActiveX)以及MIME对象等,以防止脚本病毒侵入。④另外ZoneAlarm还提供了手动和定期清理缓存,清除系统中各种文档记录、IE记录、播放器记录以及文件碎片等功能。

4、邮件保护

针对目前邮件病毒越来越多的情况,ZoneAlarm提供了对发送和接收邮件的保护功能,你可以手动添加需要过滤的附件文件后缀名,比如“SCR、PIF、SHS、VBS”等,当软件检测到邮件中的附件,携带有病毒或恶意程序时将会自动进行隔离。

5、网页过滤

网页过滤中包括家长控制和智能过滤两种措施,另外在你还可以自已设定要屏蔽的网站类型,例如暴力、**、游戏等。

6、ID锁

随着网络交流方式的普及,我们可能在不经意间随手把一些个人资料,比如银行帐号、网络游戏帐号或邮箱密码等重要信息,直接明文写在邮件中发送给朋友,其实这样做是非常危险,因为邮件可能因服务器出错而错投给别人,还可能被电脑病毒、木马程序以及黑客等记录、截留或窃取,给你带来重大损失。ZoneAlarm 中的ID锁功能可以防止这些重要的资料被泄露出去。首先打开“ID锁→我的保险箱”进行添加,类别可以是银行帐户、电话、家庭地址、邮件地址以及各类密码等信息,再输入信息内容和简短说明。为了防止这些明文信息被别人偷看,你一定要勾选“加密这个数据”选项,软件将采用工业标准SHA-1算法来进行保护(密码数据会直接显示为星号),最后选中“WEB”和“电子邮件”即可。这样当软件扫描到你所发送的电子邮件、或WEB页中包含有这些数据信息时,就会自动进行拦截并弹出警告窗口提醒你。

经过以上一番设置一定花费了你不少时间,不过你不用担心重装系统后进行重复劳动,因为“系统概要”中提供了安全设置备份功能,你可以把所有设置保存为一个.xml文件,需要时点击“恢复”按钮打开这个文件即可。

六、Kaspersky Anti-Hacker

Kaspersky Anti-Hacker 是卡巴斯基公司出品的一款非常优秀的网络安全防火墙。它能保证你的电脑不被黑客入侵和攻击,全方位保护你的数据安全。

先安装英文原程序,再运行汉化包对软件进行汉化。重启后自动运行,单击托盘中的图标打开程序。在窗口中显示的是当前的安全级别,Kaspersky Anti-Hacker把网络安全共分别五个级别,一般用户选择默认级别“中”即可。

1、 应用程序规则

Kaspersky Anti-Hackert个人防火墙的应用级规则是一个重要功能,通过实施应用及过滤,可以让你决定哪些应用程序可以访问网络。当Kaspersky Anti-Hacker成功安装后,会自动把一些安全的有网络请求的程序,添加到程序规则列表中,并且根据每个程序的情况添加适当规则,Anti- Hacker把程序共分9种类型,比如:OE为邮件类,MSN是即时通讯类,不同类型的访问权限不同。双击列表中的规则可进行编辑,如果对选中的程序比较了解,还可以自定义规则,为程序规定的访问的协议和端口,这对防范木马程序是非常有用。

2、 包过滤规则

Kaspersky Anti-Hacker提供包过滤规则,主要是针对电脑系统中的各种应用服务和黑客攻击来制定的,点击“服务/包过滤规则”菜单,打开包过滤规则窗口。双击可以进行编辑,这些规则把服务细化到通过固定端口和协议来访问网络。比如DNS域名服务只能通过UDP协议和53端口来访问网络。这样可以为电脑提供最大的安全保障。

3、 网络防火墙的应用

Kaspersky Anti-Hacker防火墙可以阻止10种各类攻击,入侵检测系统默认是启动的。打开“服务/设置”菜单,切换到“入侵检测系统”标签,可以调整每项的具体参数的设置,以扫描TCP端口为例,默认是当扫描到15个端口和5秒钟就认为遭到TCP端口扫描攻击,开始对攻击的IP进行60分的通讯拦截。由于网络状况是千变万化的,当遭到频繁攻击时,你可以适当提高灵敏度或修改拦截的时间。上网时当遭到黑客攻击时,防火墙的程序主窗口会自动弹出,并在窗口级别的下方显示出攻击的类型和端口。这时你可以根据情况禁用攻击者的远程IP地址与你的电脑之间的通讯,并且在包过滤规则中添加上禁止该IP 地址通讯的规则,这样以后就再不会遭到来自该地址的攻击了。如果上述方法不能奏效,还可以选择全部拦截或者暂时断开网络。

Kaspersky Anti-Hacker防火墙还有非常强大的日志功能,一切网络活动都会记录在日志中。从中可查找出黑客留下的蛛丝马迹,对防范攻击是非常有帮助的。另外,Kaspersky Anti-Hacker还能查看端口和已建立的网络连接情况,在这就不一一介绍了。

七、天网防火墙

天网防火墙(SkyNet-FireWall)个人版由天网安全实验室制作。它根据系统管理者设定的安全规则(Security?Rules)把守网络,提供强大的访问控制、应用选通、信息过滤等功能。它可以帮你抵挡网络入侵和攻击,防止信息泄露,并可与天网安全实验室的网站()相配合,根据可疑的攻击信息,来找到攻击者。近来“天网防火墙”又推出了其最新版本V2.7,更新采用了3.0的数据包过滤引擎,并增加了专门的安全规则管理模块,让用户可以随意导入导出安全规则。

1、设置应用程序权限

设置应用程序权限是天网高级设置里的一项功能。“天网防火墙”预置有低、中、高三个安全级别。如果把鼠标指针置于某个级别上时,即可显示出其详细说明,据此可为用户选择提供一个参考。普通用户使用这三项就够了。为了避免一切可能的攻击,就好调节级别为高,这样即可屏蔽所有开放端口,无论是在互联网还是局域网中,均无法找到本机的踪迹。一般情况下,当有新的应用程序要访问网络时,“天网防火墙”就会弹出警告对话框,询问用户是允许还是禁止。仔细观察一下程序文件名,如果你认为程序可疑,则可禁止网络连接。此外,在“应用程序访问网络权限设置”界面中,可以这各种需访问网络的软件,分别定制规则,在此可限制 TCP、UDP协议及TCP协议允许访问端口范围,当不符合条件时,程序将询问用户或禁止操作。

注意:上述方法适合在新装系统的计算机上应用。已经使用很久的计算机,由于不能确认某些程序是否有危害,该方法就显得不太适合,可以参考下面所讲的自定义IP规则的方法。

2、自定义IP规则

设置应用程序权限只能防止恶意程序或木马向外发送、泄露你的机密,但是它不能防止黑客的主动攻击。如何让恶意信息不能溜过天网的监视和拦截呢?这就需要我们自定义IP规则。当我们选择“自定义”安全级别后,即可自行添加、编辑IP规则。为了防御入侵,如139漏洞、震荡波等,可利用IP规则封杀指定 TCP/UDP端口。但如果我们对此不甚精通时,还可以直接下载天网主页提供的适应于各种网络环境的安全规则库,如木马和间谍程序防御规则、局域网访问控制等规则并将其导入即可。

3、应用IP规则防止常见病毒

通过自定义IP规则也可以防范病毒。IP规则自定义基本步骤:首先,单击安全级别上的标记,在这里我们可以看到天网已经内置了不少安全规则了。这些设置都十分有用,例如防范Ping命令探测、防范ICMP、IGMP攻击、防范NetBIOS漏洞等。我们可以保留这些安全规则,自己再添加适合本机情况的安全规则。方法是单击“空规则”,在弹出的设置界面中设置规则名称和满足条件,按下“确定”后,在已经设置好的新规则名称前面打一个勾,这样新规则就会被启用了。下面以防范震荡波为例。单击“空规则”,填写规则的“名称”为 “防范震荡波”;数据包方向设置为“接受或发送”;“对方IP地址”设置为“任何地址”。切换下面的书签到“TCP”,震荡波使用的协议是TCP,监听端口为1068和5554,所以我们设置“本地端口”为“从1068到1068”;选择“当满足上面条件时”“拦截”。最后单击“确定”。以同样的方法再添加禁用5554端口的规则。这样震荡波就不会对你危害了。

八、BlackICE PC Protection

BlackICE防火墙具有相当强大的数据信息过滤系统,能过辨别网络恶意攻击和恶意数据扫描。可以识别200多种入侵方式。

先安装英文原程序,再运行汉化包对软件进行汉化,重启电脑后自动运行对系统进行扫描,双击托盘图标打开BlackICE程序。

1、防火墙应用

BlackICE 程序中有三个标签,在“历史”标签中,可即时查看到目前总共被攻击事件及强度,网络的流量状况等。在“入侵者”标签中,显示的是攻击者的IP地址,攻击的强弱可由前面的的符号颜色来分辨。红色代表最为强烈的攻击。在“事件”标签,显示不正常封包攻击的列表。

2、高级应用程序保护设置

当BlackICE 防火墙安装完毕后会对电脑内的应用程序进行扫描,并为每个程序制定权限,当有未知程序运行时,会弹出对话框进行询问。默认情况下BlackICE会对电脑中包括(.com、.exe、.dll、.drv、.ocx、.sys、.vxd、.scr)在内的8种文件进行自动校验保护。另外我们还可以在“回溯 ”标签下设置跟踪黑客的线索数。

渗透测试之端口扫描

端口扫描:端口对应网络服务及应用端程序

服务端程序的漏洞通过端口攻入

发现开放的端口

更具体的攻击面

UDP端口扫描:

如果收到ICMP端口不可达,表示端口关闭

如果没有收到回包,则证明端口是开放的

和三层扫描IP刚好相反

Scapy端口开发扫描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP扫描:基于连接的协议

三次握手:基于正常的三次握手发现目标是否在线

隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,

僵尸扫描:不和目标系统产生交互,极为隐蔽

全连接扫描:建立完整的三次握手

所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态

隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽,网络层审计会被发现迹象

僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID

1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID

2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)

3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放

使用scapy发送数据包:首先开启三台虚拟机,

kali虚拟机:192.168.45.128

Linux虚拟机:192.168.45.129

windows虚拟机:192.168.45.132

发送SYN数据包:

通过抓包可以查看kali给linux发送syn数据包

linux虚拟机返回Kali虚拟机SYN+ACK数据包

kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接

也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改

如果向目标系统发送一个 随机端口:

通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,

2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束

使用python脚本去进行scapy扫描

nmap做隐蔽端口扫描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #扫描固定的端口

nmap -sS 192.168.45.129 -p 1-65535 --open  #扫描该IP地址下1-65535端口扫描,并只显示开放的端口

nmap -sS 192.168.45.129 -p --open  #参数--open表示只显示开放的端口

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap  -sS

hping3做隐蔽端口扫描:

hping3 192.168.45.129 --scan 80 -S  #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

参数-c表示发送数据包的数量

参数-S表示发送SYN数据包

--spoof:伪造源地址,后面接伪造的地址,

参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100

最后面跟的是目标IP

通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包

hping3和nmap扫描端口的区别:1,hping3结果清晰明了

  2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包

hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析

全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现

response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))

reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))

抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:

那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放

因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现

使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)

使用dmitry进行全连接端口扫描:

dmitry:功能简单,但功能简便

默认扫描150个最常用的端口

dmitry -p 192.168.45.129  #参数-p表示执行TCP端口扫描

dmitry -p 192.168.45.129 -o output  #参数-o表示把结果保存到一个文本文档中去

使用nc进行全连接端口扫描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示扫描1-100号端口

参数-n表示不对Ip地址进行域名解析,只把其当IP来处理

参数-v表示显示详细信息

参数-w表示超时时间

-z表示打开用于扫描的模式

端口扫描的工作原理

扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑.

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。

0条大神的评论

发表评论