tcp端口扫描工具_tcpip端口扫描

hacker|
233

关于避免UDP端口和TCP端口扫描的问题

分类: 电脑/网络 反病毒

问题描述:

我们单位的机器是通过一台服务器双网卡共享上网的配置是赛阳2.0,512M内存一般网卡,带了100多太机器,我用的防火墙是卡巴斯机的。卡巴斯机老是提醒

“你的计算机已受到来自192.168.x.x 的攻击扫描 TCP 端口,攻击已成功拒绝”

“你的计算机已受到来自192.168.x.x 的攻击扫描 UDP 端口,攻击已成功拒绝”

ip都是内网的机器的ip ,服务器的cpu占用率都是100%

请问有什么软件可以避免服务器被攻击,下面的机器上装的有卡巴司机6.0

了也找不到病毒什么的请问用什么方法或杀毒软件可以避免服务器被攻击,谢谢了

解析:

你说的这种现象很正常.

防火墙的正常提示!没什么好担心的!

至于如何避免服务器被攻击只要你大好补丁,把所有该关的端口都关了.经常升级杀毒软件.不要乱用优盘.不打开来历不明的望页.放火墙开着就没有大问题.

要是这样还出了问题那也不是你能处理的了的.你遇见高手了主动攻击你了!没办法!

你是什么单位的??

我也是我们单位的网管!

毕业论文 基于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选项

端口扫描原理及工具 - 安全工具篇

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部端口,不可见。例如计算机中的80端口、21端口、23端口等。

一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

因此,一个开放的端口代表一个提供的服务,不同的服务具有不同的端口号, 因此要对服务进行测试,首先要确定是否开放对应端口号 。

TCP端口和UDP端口。由于TCP和UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也 可以有235端口,两者并不冲突。

1、周知端口

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW服务的端口是“80”。

2、动态端口

动态端口的范围是从49152到65535。之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

3、注册端口

端口1024到49151,分配给用户进程或应用程序。这些进程主要是用户安装的程序。

1、使用Nmap工具查找ip的tcp端口

-O :获取操作系统版本信息

2、使用Nmap工具查找udp端口

-sU :表示udp scan , udp端口扫描

-Pn :不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)

对于udp端口扫描比较慢,扫描完6万多个端口需要20分钟左右

3、使用Nmap工具获取端口Banner

只会返回有Banner信息的,没有则不会返回。

4、使用Nmap嗅探服务版本信息

如果没有返回banner信息的,也可以使用该方法尝试嗅探服务版本信息。

5、利用nmap对目标进行完整测试

在针对内容测试时,有授权的情况下,可以利用nmap对目标进行完整测试

如何扫描某一计算机开放的所有端口?

扫描某一计算机开放的所有端口可在windows系统输入-netstat -an即可。

一、打开端口的步骤:

1、首先,打开电脑的控制面板,然后在控制面板中找到防火墙。

2、在防火墙设置左边选择点击高级设置。

3、高级安全设置中,我们点击选择左边的入站规则。

4、在右侧栏选择点击新建规则。

5、规则类型选择端口类型。

6、选择tcp协议,特定端口,端口自己规定,比如4444。

7、何时应用规则,默认全选。

8、退出之后,我们就看到创建的入站规则,该端口允许。

二、端口分类:

1、硬件端口

CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。

其中硬件领域的端口又称接口,如:并行端口、串行端口等。

2、网络端口

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

3、软件端口

缓冲区。

端口扫描器的用法?

扫描器使用方法大家好很高兴你能进如我们的第四课!由先在起所有的课将由我来主讲,由于课程涉及

的是网络最高安全问题,所以我不得不警告各位,你要清楚的认识到你在干什么,其实

第四课的内容我们换了又换,有很多是一些攻击性很强的,我不得不CUT,所以次文才迟

迟出来!!同时我也希望进入这一课时的学友能多多的帮助其它人!

在INTERNET安全领域,扫描器可以说是黑客的基本武器,

一个好的TCP端口扫描器相当与几百个合法用户的口令及

密码是等同的,这样说一点也不过分!

1,什么是扫描器

扫描器是一种自动检测远程或本地主机安全性弱点的程序,

通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP

端口的分配及提供的服务!和它们的软件版本!这就能让我们

间接的或直观的了解到远程主机所存在的安全问题。

2,工作原理

扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标

给予的回答,通过这种方法,可以搜集到很多关于目标主机的

各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP

目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!)

3,扫描器的运行平台!

尽管大多数的工作站是用UNIX的,由于UNIX的应用软件的可移殖

性,如今的扫描器以有了支持各种平台,这一点大大方便了许多

单机的用户!但同时也带来了更多的网络安全问题,这句老话我想

大家一定是听到过很多次!------网络安全刻不容缓!!!

4,扫描器能干什么?

扫描器并不是一个直接的攻击网络漏洞的程序,它不同于第二课中

的许多NUCK程序!它仅仅能帮助我们发现目标机的某些内在的弱点

而这些现存的弱点可能是(请看清楚可能是,并非一定)破坏目标

机安全关键,但是我想说明的是对于一个刚刚入们的黑客人来说

这些数据对他来说无疑是一个毫无价值的数据集合!,而对一个

掌握和精通各种网络应用程序的漏洞的黑客来说这就不仅仅是一个简单

的数据集合!他的价值远超过几百个有用的帐号!-------知识需要

积累!!!

5,种类

1。NNS(网络安全扫描器)

用PERL编写,工作在Sunos4.1.3

进行下面的常规的扫描

Sendmail ,TFTP,匿名FTP,Hosts.equive,Xhost

增强扫描

Apple Talk,

Novell

LAN管理员网络

取得指定域的列表或报告!

用PING命令确定指定主机是否是活性的,

扫描目标机端口

报告指定地址的漏洞

你可以到这个地址下载

2.STROBE(超级优化TCP端口检测程序)

它是一个TCP端口的扫描器,能快速的识别指定机器上正运行

什么服务,

用于扫描网络漏洞

SATAN(安全管理员的网络分析工具)

扫描远程主机的许多已知的漏洞

FTPD中可写的目录

NFS

NIS

PSH

SENDMAIL

X服务

Jakal(秘密扫描器)

可以不留痕迹的扫描

IdenTCPscan

CONNECT 扫描TFTP服务器子网

ESPScan 扫描FSP服务器

XSCAN

实例扫描

或用关键字搜寻!你能了解到更多的情况!

1,UNIX平台的SAFEsuite

safesuite的组成,INTERNET,WEB,防火墙扫描!

safesuite的攻击,sendmail,FTP,NNTP,TELNET,RPC,NFS.

ISS的开发小组在最新的版本里还增设了IP欺骗和拒绝服务的攻击,用以支持对主机安全

性的分析。

可以运行的平台:Sun OS 4.1.3 up,SoLaris 2.0 up,HP/UX9.05 up,IBM AIIX 3.2.5 u

p

Linux 1.2.x,Linux1.3.x,Linux 1.3.76+

安装:

解压后拷贝到指定的目录,你可用下面的命令来解!

tar -xvf ISS_XXX.tar

运行ISS.install开始安装!

由于扫描的结果太长我就不一一写出来了!!大家可以多试试!很多有用的安全信息都

在这些扫描结果里!!通过MIT的X窗口系统标准配置运行如SAVEsuite,X窗口的管理程

序是FVWM。

Network Toolbox

用于WINDOWS 95上的TCP/IP的应用程序,

默认扫描端口是!14个TCP/IP端口,

port 9,13,21,25,,37,79,80,110,111,512,513,514,

你可以通过设置属性来改变默认的配置!!

我不知道我上述的下载地址是否还有效!但我想你可一到一些国外著名的黑客站找到你

想要的一切!!

课后作业,请把你扫描的信息告诉我们,我们将在下一课拿出一些信息来加以分析,安

全漏洞出在哪里!并对各种可能发生的漏洞加以分析!!

如何在服务器上进行端口扫描?

①Windows系统服务器,用dos扫描打开的端口

快捷键WIN+R在运行中输入“cmd”确定

netstat -na

②Linux系统服务器,终端中用nc命令扫描端口

nc -v -w 2 `10.246.46.15 -i` 3901-3905

#扫描ip地址10.246.46.15的端口开启情况

nc: connect to 10.246.46.15 port 3901 (tcp) failed: Connection refused

nc: connect to 10.246.46.15 port 3902 (tcp) failed: Connection refused #端口关闭

Connection to 10.246.46.15 3903 port [tcp/charsetmgr] succeeded!  #端口开通

nc: connect to 10.246.46.15 port 3904 (tcp) failed: Connection refused

Connection to 10.246.46.15 3905 port [tcp/mupdate] succeeded!     #端口开通

0条大神的评论

发表评论