实验07端口扫描案例.doc
文本预览下载声明
端口扫描
6.3.1 背景描述
“端口”在计算机和网络领域中是个非常重要的概念。它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的接口,如USB端口、端口交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等端口指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等TCP SYN 扫描SYN|ACK(应答)表明该端口是开放监听的。RST则代表该端口未被监听。如果SYN|ACK的,则马上发送一个RST包来中断这个连接。TCP FIN扫描。向目标端口发送FIN数据包,按照rfc793,目标系统应该给所有关闭着的端口返回一个RST数据包。
4.XMAS扫描。也称圣诞树扫描,将TCP的首部含有的六个标志位(URG、ACK、PSH、RST、SYN和FIN)都置为1,按照rfc793,目标系统应该给所有关闭着的端口发送一个RST 包。
5.空(Null)扫描。空(Null)扫描关掉所有TCP首部中的标志,按照rfc793,目标系统应该给所有关闭着的端口发送一个RST 包。
6.ACK 扫描。发送一个只有ACK标志的TCP 数据包给目标主机,如果主机反馈一个TCP RST 数据包来,那么这个主机是存在的。如果端口被过滤,要么什么也收不到,要么收到ICMP 消息(目标不可达);相反,如果没有被过滤,则收到有关RST 数据包。
另外,从UDP协议可知,如果UDP端口打开,则没有应答报文;如果端口关闭,则会有TCMP报文(端口不可达)。这样,只需构造一个UDP报文,观察响应报文就可知道目标端口的状态。
6.3.2 工作原理
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。 一个端口就是一个潜在的通信通道,也就是一个入侵通道。端口扫描技术是一项自动探测本地和远程系统端口开放情况的策略及方法。端口扫描技术的原理是端口扫描向目标主机的 TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它通过对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点。
在端口扫描后,获得目标主机的端口开放情况,通过查询端口对应的服务,就可以得出该主机开设的服务情况。在此基础上,对端口上提供的服务进行识别。例如Nmap使用的nmap-services数据库大约2,200个著名的服务Nmap可以报告那些端口可能分别对应版本探测每个服务必须要有自己的、唯一的特征标志。否则,客户端软件就无法和服务器软件完成握手和进一步的信息交换。SATAN(Security Administrator Tool For Analyzing Networks)、Nmap(network mapper)、SSS(Shadow Security Scanner )、ISS(Internet Security Scanner)和Super Scan等,下面介绍一些可以在Internet上免费获得的扫描程序。
1.NSS(网络安全扫描器)
(1) NSS由Perl语言编成,它最根本的价值在于速度,它运行速度非常快,可以执行下列常规检查:Sendmail、匿名FTP、NFS出口、TFTP、Hosts.equiv、Xhost
注:除非拥有最高特权,否则NSS不允许执行Hosts.equiv。
(2) 利用NSS,用户可以增加更强大的功能,其中包括:AppleTalk扫描、Novell扫描、LAN管理员扫描、可扫描子网。
(3) NSS执行的进程包括:取得指定域的列表或报告,该域原本不存在这类列表、用Ping命令确定指定主机是否是活性的、扫描目标主机的端口、报告指定地址的漏洞。
(4) 提示。在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:
$TmpDir_NSS使用的临时目录
$YPX-ypx应用程序的目录
$PING_可执行的ping命令的目录
$XWININFO_xwininfo的目录
如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应
显示全部