网络安全测试工具
目前操作系统存在的各种漏洞,使得网络攻击者能够利用这些漏洞,通过TCP/UDP端口对客户端和服务器进行攻击,非法获取各种重要数据,给用户带来了极大的损失,因此,网络安全已经越来越被人们所重视。下面就将介绍几种非常有用的网络安全测试工具来帮助网络管理员快速发现存在的安全漏洞,并及时进行修复,以保证网络的安全运行。
1. TCP/UDP连接测试工具-netstat
Netstat命令是Windows内置的一种网络测试工具,通过netstat命令可以查看本地TCP、ICMP、UDP和IP协议的使用情况,以及各个端口的使用情况,活动的TCP连接,计算机侦听的端口,以太网统计信息,IP路由表,IPv4和IPv6统计信息等。
Netstat命令语法
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
参数说明
-a:显示所有连接和监听端口。
-b:显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的[ ]中,顶部是其调用的组件等,直到TCP/IP部分。注意此选项执行可能需要很长的时间,如果没有足够权限可能失败。
-e:显示以太网统计信息。此选项可以与“-s”选项组合使用。
-n:以数字形式显示地址和端口号。
-o:显示与每个连接相关的所属进程ID。
-p proto:显示proto指定的协议的连接;proto可以是下列协议之一,TCP、UDP、TCPv6或UDPv6。如果与“-s”选项一起使用可显示按协议统计信息,proto可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6。
-r:显示路由表。
-s:显示按协议统计信息。默认显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息。
-p选项用于指定默认情况的子集。
-v:与“-b”选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组
件。
Interval:重新显示选定统计信息,每次显示暂停时间间隔(以秒计)。按【Ctrl+C】组合键停止重新显示统计信息。如果省略,netstat显示当前配置信息(只显示一次)。
2. NetBIOS名称解析工具-nbtstat
Nbtstat是解决NetBIOS名称解析问题的一种有用工具。Nbtstat可以显示基于TCP/IP的NetBIOS(NetBT)协议统计资料、本地计算机和远程计算机的NetBIOS名称表和NetBIOS名称缓存。而且,nbtstat还可以刷新NetBIOS名称缓存和使用WindowsInternet名称服务(WINS)注册的名称。
语法
NBTSTAT [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
参数说明
-a RemoteName:显示远程计算机的NetBIOS名称表,其中,RemoteName是远程计算机的NetBIOS计算机名称。NetBIOS名称表是与运行在该计算机上的应用程序相对应的NetBIOS名称列表。
-A IP address:显示远程计算机的NetBIOS名称表,其名称由远程计算机的IP地址指定。
-c:显示NetBIOS名称缓存内容、NetBIOS名称表及其解析的各个地址。
-n:显示本地计算机的NetBIOS名称表。Registered的状态表明该名称是通过广播还是WINS服务器注册的。
-r:显示NetBIOS名称解析统计资料。在配置为使用WINS且运行Windows XP或者Windows Server 2003操作系统的计算机上,该参数将返回已通过广播和WINS解析和注册的名称号码。
-R:清除NetBIOS名称缓存的内容并从Lmhosts文件中重新加载带有#PRE标记的项目。
-RR:释放并刷新通过WINS服务器注册的本地计算机的NetBIOS名称。
-s:显示NetBIOS客户端和服务器会话,并试图将目标IP地址转化为名称。
-S:显示NetBIOS客户端和服务器会话,只通过IP地址列出远程计算机。
Interval:重新显示选定统计信息,每次显示暂停时间间隔(以秒计)。按【Ctrl+C】组合键停止重新显示统计信息。如果省略,nbtstat显示当前配置信息(只显示一次)。
3. 网络共享资源扫描工具-NetSuper
NetSuper是一款功能十分强大的网络共享资源扫描工具,利用它可以快速扫描局域网中各个计算机上的共享资源。目前,NetSuper有很多绿色版本,因此,双击直接运行即可。
进入程序主界面后,单击“搜索计算机”按钮,程序将扫描局域网内的计算机,并将搜索到的计算机名称、IP地址、工作组名称、MAC地址等信息显示在最左侧的框中,如图1所示。
图1 搜索计算机
此时,单击工具栏上的“所有共享”按钮,程序将对局域网中的所有计算机上的共享资源进行扫描,并将结果显示在共享资源列表中,如图2所示。
图2 搜索所有共享
如果要查看某台共享计算机的共享资源,我们可以通过打开“共享资源列表”中的文件夹来查看。
如果网络中有服务器,我们可以通过单击工具栏中“搜索服务器”的下拉按钮选择要搜索的服务器,例如,要搜索局域网中的打印服务器,单击“搜索打印服务器(P)”,结果如图3所示。
图3 搜索打印服务器
4. 网络主机扫描工具-HostScan
网络主机扫描(HostScan)是一款功能强大的网络扫描软件,具有IP地址扫描、端口扫描和网络服务扫描功能。这三种扫描功能是递进使用的,其中,IP地址扫描功能能够扫描到任意地址范围的IP地址;端口扫描功能可以扫描已发现的主机的端口,并获得打开的端口的信息,通过对端口分析可以得知计算机上是否留有后门;网络服务扫描功能可以扫描打开的端口上正在运行的网络服务信息。上述扫描完成后,程序会给出一份详细的网络扫描报告,这对网络管理员进行网络管理十分有用。
运行HostScan程序后,在主窗口左下方的IP地址框中,默认显示的是本地计算机的IP地址,选中“启动端口扫描”复选框,单击“扫描”按钮,程序就开始对该IP地址进行扫描。在主窗口左上方的“扫描信息”窗口中,显示了所扫描的主机数目、端口数目、打开的Socket、等待时间等信息;在右上方的窗口中显示了计算机的IP地址、主机域名、使用的时间、TTL、次数、成功率等信息;在右下方的窗口中显示了所扫描到的端口信息,包括端口号、端口使用的协议和服务、扫描该端口所用时间、次数等信息,如图4所示。
图4 扫描本地IP地址
最后,扫描完成以后,会自动显示“扫描结果报告”,管理员可以通过该报告了解到哪些端口是活动的,以便采取相应的防护措施。“扫描结果报告”如图5所示。
图5 扫描结果报告
另外,HostScan还可以扫描局域网中的某个IP地址段中的主机及其端口。在HostScan主窗口左下方的IP地址框中输入要扫描的IP地址段的起始地址和结束地址,并选中“启动端口扫描”复选框,单击“扫描”按钮,将显示类似于本地IP地址扫描形式的结果。如图6所示。
图6 扫描IP地址段
同样,该扫描完成后,也会生成一个“扫描结果报告”。管理员通过上述扫描可以了解到局域网中有哪些主机,这些主机开放了哪些端口,以及正在提供哪些服务等,从而根据网络情况设置相应的安全措施,防止木马病毒在主机上留下后门或者通过端口传输数据等。
5. 端口检测工具-PortQry
PortQry是Windows Support Tools 2003自带的一个工具,全名是PortQry Command Line PortScanner。利用PortQry可以获取本地计算机或者远程计算机上目标TCP端口和UDP端口的状态。
PortQry通过以下三种方式获取TCP端口的状态:
①侦听:进程侦听所选中的计算机上的端口,并接收该端口的响应。
②未侦听:没有进程侦听目标计算机上的端口。PortQry接收目标UDP端口发回的ICMP消息,或者目标TCP端口发回的TCP确认数据包。
③筛选:所选择的计算机上的端口正在被筛选。PortQry收不到目标端口的响应。进程可能在侦听端口,也可能不在侦听端口。默认情况下,在报告目标端口被筛选之前,将对TCP端口查询三次,对UDP端口查询一次。
语法
portqry –n ServerName [-p Protocol] [-e port || -r start port : end port || -o port, port, port?] [-l filename] [-s] [-i] [-q]
参数说明
-n ServerName:指定目标计算机,可以是主机名或者IP地址。但是,主机名或者IP地址中不能包括空格。PortQry将主机名解析为IP地址。如果PortQry无法将主机名解析为IP地址,此工具会报告错误,并退出程序。如果输入IP地址,PortQry将它解析为主机名称。如果解析不成功,PortQry会报告错误,但仍然继续处理命令。
-p Protocol:指定用于连接目标计算机上目标端口或者协议的类型。如果不指定协议,PortQry使用TCP作为协议。Protocol的有效参数为TCP、UDP或者BOTH(即同时包含TCP和UDP)。
-e port:指定某个端口,取值范围为1~65535。参数e不能与参数r或者o同时使用。
-r start port : end port:指定一个连续的端口范围,start port为起始端口值,end port为终止端口值。取值范围为1~65535。参数r不能与参数e或者o同时使用。
-o port, port, port ?:指定若干不相连的端口,取值范围为1~65535。 -l filename:将PortQry输出到文本文件filename,该文件位于运行PortQry的文件夹。如果同名的日志文件已经存在,PortQry将提示重新命令还是直接覆盖。
-s:PortQry等待更长的UDP查询响应时间。由于UDP是无连接协议,所以PortQry无法确定端口是响应缓慢还是端口被筛选。在PortQry确定端口是未侦听还是筛选之前,此选项使PortQry等待UDP端口响应的时间加倍。
-q:使PortQry取消除错误信息外的所有屏幕输入。在配置PortQry以便在批处理文件中使用时,可以只输入正确的信息。屏蔽掉错误信息。根据端口的状态,此参数返回不同的输出-0(目标端口是侦听),1(目标端口是未侦听),2(目
标端口为侦听或筛选)。该参数只能和参数e一起使用,不能和参数o或者r一起使用。
需要注意的是,只有具有管理员组权限的用户才可以使用该命令。
6. 漏洞检测工具-X-Scan
X-Scan是一款免费的绿色软件,解压缩后即可运行,双击
“xsacn_gui.exe”可执行文件后,将会出现图7所示的窗口,窗口中的文字是对该软件的一个简单介绍。
图7 X-Scan主界面
第一部分-X-Scan参数配置
利用X-Scan可以对某个主机或者某一网段内的主机进行扫描,扫描之前需要先对X-Scan进行设置,根据实际的网络环境来确定扫描对象和扫描选项。单击主窗口菜单栏中的“设置”按钮,选择“扫描参数”选项,在如图8所示的窗口中指定要扫描的IP地址,这里的IP地址可以是单独的一个IP地址,也可以
是一个IP地址段,或者是主机名称。可点击“示例”来查看有效格式和无效格式。本例中我们设置了192.168.1.178-192.168.1.222这个IP地址段,如图8所示。
图8 扫描参数设置
在设置完成要扫描的IP地址后,我们还要对扫描选项进行设置。单击图8中主窗口左侧的全局设置上的“+”号,出现了五个可以设置的选项,接下来,我们将对各个选项逐个进行设置。
(1)单击“扫描模块”选项,我们可以根据需要在中间的窗口中选择需要扫描的模块,最右边的窗口中是对当前选择的扫描选项的说明,可以帮助我们确定是否需要对该模块进行扫,如图9所示。
图9 扫描模块
(2)单击“并发扫描”选项,可以设置扫描的最大并发主机数和最大并发线程数,可以根据当前机器的性能进行设置,如图10所示。
图10 并发扫描设置
(3)单击“网络设置”选项,可以选择适合于扫描的网络适配器,如果找不到网络适配器,则需要重新安装WinPCAP或者更高版本的驱动程序,如果当前计算机安装了多个网卡,就需要选择此处使用哪块网卡,需要注意的是,必须选择和要扫描的IP地址在同一网段内的网卡。
图11 网络设置
(4)单击“扫描报告”选项,在“报告文件”文本框中输入报告的文件名;在“报告文件类型”下拉列表中可以选择报告的保存类型,有HTML、TXT和XML三种类型。扫描结束后生成的报告文件名,都将保存在LOG目录下,可以进入此文件夹查看。如图12所示。
图12 扫描报告
(5)单击“其他设置”选项,选中“跳过没有响应的主机”按钮,若目标主机不响应ICMP ECHO及TCP SYN报文,X-Scan将跳过对该主机的检测,而“无条件扫描”是无论目标主机是否响应,X-Scan都将对该主机进行检测。选中“跳过没有检测到开放端口的主机”复选框,若在用户指定的TCP端口范围内没有发现开发端口,将跳过对该主机的后续检测。选中“使用NMAP判断远程操作系统”复选框,X-Scan将使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型。如图13所示。
图13 其他设置
(6)单击“插件设置”左侧的“+”,出现了六个设置选项。单击“端口相关设置”选项,可以在“待检测端口”文本框中输入要扫描的端口号,在“检测方式”下拉列表中可以选择“TCP”或者“SYN”两种检测方式,并选中“根据响应识别服务”复选框。如图14所示。
图14 端口相关设置
(7)单击“SNMP相关设置”选项,可以对“获取界面信息”、“获取IP信息”、“获取TCP信息”、“获取UDP信息”和“获取WINS用户列表”等SNMP信息进行选择,如图15所示。
图15 SNMP相关设置
(8)单击“NETBIOS相关设置”选项,可以设置需要检测的NETBIOS信息,默认情况下选中了“注册表敏感键值”、“服务器时间”、“共享资源列表”、“用户列表”和“本地组列表”五项,可以根菔导是榭鲈俳醒≡瘢缤?6所示。
图16 NETBIOS相关设置
(9)单击“攻击脚本相关设置”选项,默认情况下选中了“全选”复选框,这样就加载了所有攻击脚本,在“脚本运行超时”文本框中输入设定的超时时间,在“网络读取超时”文本框中输入设定的超时秒数,并选中“安全扫描(跳过破坏性脚本)”复选框。如图17所示。
图17 攻击脚本相关设置
(10)单击“CGI相关设置”,一般情况下采用默认设置即可,如图18所示。
图18 CGI相关设置
(11)单击“文件字典设置”选项,列表中的“字典类型”列出了X-Scan扫描弱密码时用到的所有字典类型,在“字典文件名”字段列出了相关类型的字典所存储的位置,默认都存放在目录下的dat文件夹中,如图19所示。
图19 字典文件设置
第二部分-开始扫描并查看扫描结果
扫描设置完成之后,就可以对IP地址范围内的主机进行扫描了,单击菜单栏中的“开始扫描”按钮,扫描过程即开始,如图20所示。扫描时间的长短取决于扫描设置的多少和要扫描主机数量。
图20 开始扫描
扫描结束后,“X-Scan Report”扫描报告会自动以网页的形式打开,如图21所示,该报告详细记录了X-Scan的扫描结果,包括主机列表、每个主机的安去情况以及开放端口的服务、NETBIOS、计算机的弱密码等,如果计算机存在安全漏洞,报告中将以红色字体显示。
图21 扫描报告
对于扫描到的安全漏洞,X-Scan会在检测报告中列出详细的安全漏洞信息以及相应的解决方案,如图22所示,管理员可以根据X-Scan提供的解决方案来修复漏洞,从而加强计算机的安全性,防止计算机遭受黑客或者木马的入侵。
图22 安全漏洞及解决方案