网络端口扫描器的设计与实现_网络安全端口扫描器实现

hacker|
177

如何在 OS X 的网络工具中使用端口扫描器

1.使用安全工具有许多工具可以让我们发现系统中的漏洞,如SATAN等。SATAN是一个分析网络的管理、测试和报告许多信息,识别一些与网络相关的安全问题。当然还有很多像这样的安全工具。包括对TCP端口的扫描或者对多台主机的所有TCP端口实现监听;分析网络协议、监视控制多个网段等,正确使用这些安全工具,及时发现系统漏洞,才能防患于未然。而对于WindowsNT系统平台,可定期检查EventLog中的SECLog记录,查看是否有可疑的情况,防止网络监听与端口扫描。2.安装防火墙防火墙型安全保障技术是基于被保护网络具有明确定义的边界和服务、并且网络安全的威胁仅来自外部的网络。通过监测、限制以及更改跨越“防火墙”的数据流,尽可能的对外部网络屏蔽有关被保护网络的信息、结构,实现对网络的安全保护,因此比较适合于相对独立,与外部网络互连途径有限并且网络服务种类相对单一、集中的网络系统,如Internet。“防火墙”型系统在技术原理上对来自内部网络系统的安全威胁不具备防范作用,对网络安全功能的加强往往以网络服务的灵活行、多样性和开放性为代价,且需要较大的网络管理开销。防火墙型网络安全保障系统实施相当简单,是目前应用较广的网络安全技术,但是其基本特征及运行代价限制了其开放型的大规模网络系统中应用的潜力。由于防火墙型网络安全保障系统只在网络边界上具有安全保障功能,实际效力范围相当有限,因此“防火墙”型安全技术往往是针对特定需要而专门设计实施的系统。对于个人用户,安装一套好的个人防火墙是非常实际而且有效的方法。现在许多公司都开发了个人防火墙,这些防火墙往往具有智能防御核心,攻击,并进行自动防御,保护内部网络的安全。比如蓝盾防火墙系统在内核设计中引入自动反扫描机制,当黑客用扫描器扫描防火墙或防火墙保护的服务器时,将扫描不到任何端口,使黑客无从下手;同进还具有实时告警功能,系统对受到的攻击设有完备的纪录功能,纪录方式有简短纪录、详细记录、发出警告、纪录统计(包括流量、连接时间、次数等)等记录,当系统发生警告时,还可以把警告信息传到呼机和手机上来,让系统管理员及得到通知。3.对络上传输的信息进行加密,可以有效的防止网络监听等攻击目前有许多软件包可用于加密连接,使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。最后给系统及网络管理员的一些建议:(1)及时安装各种防火墙;

端口扫描的工作原理

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

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

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

端口扫描器的用法?

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

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

第四课的内容我们换了又换,有很多是一些攻击性很强的,我不得不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,

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

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

想要的一切!!

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

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

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

"端口"是英文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对目标进行完整测试

网络安全漏洞扫描器的应用

网络安全扫描器简介

迅速发展的Internet给人们的生活、工作带来了巨大的方便,但同时,也带来了一些不容忽视的问题,网络信息的安全保密问题就是其中之一。

网络的开放性以及黑客的攻击是造成网络不安全的主要原因。科学家在设计Internet之初就缺乏对安全性的总体构想和设计,我们所用的TCP/IP 协议是建立在可信的环境之下,首先考虑的是网络互连,它是缺乏对安全方面的考虑的。而且TCP/IP协议是完全公开的,远程访问使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等等这一些性质使网络更加不安全。

先进的技术是实现网络信息安全的有力武器,这些技术包括:密码技术、身份验证技术、访问控制技术、安全内核技术、网络反病毒技术、信息泄漏防治技术、防火墙技术、网络安全漏洞扫描技术、入侵检测技术等。而在系统发生安全事故之前对其进行预防性检查,及时发现问题并予以解决不失为一种很好的办法,于是网络安全漏洞扫描技术应运而生。

1. 扫描器基本工作原理

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

扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。目标可以是工作站、服务器、交换机、数据库应用等各种对象。然后根据扫描结果向系统管理员提供周密可靠的安全性分析报告,为提高网络安全整体水平产生重要依据。在网络安全体系的建设中,安全扫描工具花费低、效果好、见效快、与网络的运行相对对立、安装运行简单,可以大规模减少安全管理员的手工劳动,有利于保持全网安全政策的统一和稳定。

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

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

扫描器对Internet安全很重要,因为它能揭示一个网络的脆弱点。在任何一个现有的平台上都有几百个熟知的安全脆弱点。在大多数情况下,这些脆弱点都是唯一的,仅影响一个网络服务。人工测试单台主机的脆弱点是一项极其繁琐的工作,而扫描程序能轻易的解决这些问题。扫描程序开发者利用可得到的常用攻击方法并把它们集成到整个扫描中,这样使用者就可以通过分析输出的结果发现系统的漏洞。

2.端口扫描介绍

真正的扫描器是TCP端口扫描器,这种程序可以选通TCP/IP端口和服务(比如,Telnet或FTP),并记录目标的回答。通过这种方法,可以搜集到关于目标主机的有用信息(比如,一个匿旬用户是否可以登录等等)。而其他所谓的扫描器仅仅是UNIX网络应用程序,这些程序一般用于观察某一服务是否正在一台远程机器上正常工作,它们不是真正的扫描器,但也可以用于收集目标主机的信息(UNIX平台上通用的rusers和host命令就是这类程序的很好的例子)。

2.1 TCP SYN 扫描

扫描程序发送的SYN数据包,好像准备打开一个新的连接并等待反映一样。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST 返回表示端口没有处于侦听状态。如果收到一个SYN|ACK,扫描程序必须再发送一个RST 信号,来关闭这个连接过程。

优点:不会在目标计算机上留下纪录。

缺点:扫描程序必须要有root权限才能建立自己的SYN数据包。

2.2 TCP FIN 扫描

关闭的端口会用适当的RST来回复FIN数据包,而打开的端口会忽略对FIN数据包的回复。

优点:FIN数据包可以不惹任何麻烦的通过。

缺点:这种方法和系统的实现有一定的关系,有些系统不论是打开的或关闭的端口对FIN数据包都要给以回复,这种情况下该方法就不实用了。

2.3 TCP connect()扫描

操作系统提供connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。

优点:系统中的任何用户都有权利使用这个调用;如果对每个目标端口以线性的方式扫描,将会花费相当长的时间,但如果同时打开多个套接字,就能加速扫描。

缺点:很容易被发现,目标计算机的logs文件会显示一连串连接和连接出错的消息,并且能很快的将它关闭。

3.扫描程序介绍

目前存在的扫描器产品主要可分为基于主机的和基于网络的两种,前者主要关注软件所在主机上面的风险漏洞,而后者则是通过网络远程探测其它主机的安全风险漏洞。

国外,基于主机的产品主要有:AXENT公司的ESM,ISS公司的System Scanner等,基于网络的产品包括ISS公司的Internet Scanner、AXENT公司的NetRecon、NAI公司的CyberCops Scanner、Cisco的NetSonar等。目前国内有中科院网威工作室开发的NetPower产品出现,另外北方计算机公司(***)也有类似产品。 下面介绍一些可以在Internet上免费获得的扫描程序。

3.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)应该避免这种情况,在代码中有这方面的选项设置。

3.2 Strobe(超级优化TCP端口检测程序)

strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。

strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给"入侵者"一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述(仅打印首次端口定义)。其他选项包括:

■定义起始和终止端口

■定义在多长时间内接收不到端口或主机响应,便终止这次扫描。

■定义使用的socket号码

■定义strobe要捕捉的目标主机的文件

在获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,必须禁止使用getpeername()。在行命令中加入-g 标志就可以实现这一目的。同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。

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

SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。

在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷;在tcp-scan模块中实现 select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件。SATAN用于扫描远程主机的许多已知的漏洞,其中包括但并不限于下列这些漏洞:

■FTPD脆弱性和可写的FTP目录

■NFS脆弱性

■NIS脆弱性

■RSH脆弱性

■Sendmail

■X服务器脆弱性

SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的第一步(在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。

SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种方法:一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。

3.4 Jakal

Jakal是一个秘密扫描器,也就是就,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。

秘密扫描器工作时会产生"半扫描"(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)。

3.5 IdentTCPscan

IdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。

3.6 CONNECT

CONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网。

3.7 FSPScan

FSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有网络过载保护功能(比如,FSP从来不分叉)。FSP最知名的安全特性可能就是它记录所有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E- mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序。

3.8 XSCAN

XSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。

XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定主机和子网)。

4. 结束语

随着Internet的应用日渐普及,网络攻击的种类和方式也愈来愈多,扫描程序不太可能集成所有的远程攻击。每发现一个新的漏洞,扫描程序就应该加入检查这个新漏洞的能力,这是一个永不停止的过程。因此扫描器最多提供一个快速观察TCP/IP安全性的工具,通过系统管理员的正确使用,能够避免一些入侵者的恶意攻击,但并不能保证网络的安全。

0条大神的评论

发表评论