一、实验目的和要求
了解信息搜集的一般步骤
学会熟练使用ping命令
学会利用Nmap等工具进行信息搜集
二、实验内容和原理
1.信息搜集的步骤
攻击者搜集目标信息一般采用七个基本的步骤:
(1) 到初始信息,比如一个IP地址或者一个域名;
(2) 到网络地址范围,或者子网掩码;
(3) 到活动机器;
(4) 到开放端口和入口点;
(5) 弄清操作系统;
(6) 弄清每个端口运行的是哪种服务;
(7) 画出网络结构图。
2.ping命令探测技巧
使用ping可以测试目标主机名称和IP地址,验证与远程主机的连通性,通过将ICMP回显请求数据包发送到目标主机,并监听来自目标主机的回显应答数据包来验证与一台或多台远程主机的连通性,该命令只有在安装了TCP/IP协议后才可以使用。
ping命令格式:ping [选项] 目标主机。常用选项见表19-1-1。
表19-1-1  ping命令常用选项
选项功能
Windows
Linux
对目标主机进行连续的ping操作
-t
无参数
将地址解析为计算机名(适用Windows系统)
-a
--
指定发送ICMP回显请求数据包个数
-n
-c
指定回显请求数据负载(ICMP负载)大小
-l
-s
指定发送数据包的TTL生存时间
-i
-t
指定超时时间(毫秒)
-w
--
指定发送时间间隔
--
-i
洪泛ping
--
-f
指定回显数据包记录路由的最大量
-r
--
记录路由
--
-R
指定回显数据包按列表路由
-j/-k
--
生存时间(TTL):指定数据报被路由器丢弃之前允许通过的网段数量。TTL是由发送主机设置的,以防止数据包在网络中循环路由。转发IP数据包时,要求路由器至少将TTL减小1。
TTL字段值可以帮助我们猜测操作系统类型,如表19-1-2所示。
表19-1-2  各操作系统ICMP回显应答TTL对照
操作系统
Unix及类Unix
Windows NT/2K/03
Windows 95/98/ME
TTL字段值
255
128
32
64
3.Nmap介绍
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FI
N、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口映射),碎片扫描,以及灵活的目标和端口设定。
nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有:open、filtered、unfiltered。open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。filtered状态表示:防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止nmap探测其是否打开。unfiltered表示:这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下,端口的状态基本都是unfiltered状态,只有在大多数被扫描的端口处于filtered状态下,才会显示处于unfiltered状态的端口。
根据使用的功能选项,nmap也可以报告远程主机的下列特征:使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。
4.Nmap常用命令选项
执行命令:nmap[扫描类型][扫描选项]。常用命令选项见表19-1-3。
表19-1-3  nmap命令常用选项
开放源代码意味着什么
类型
说明
-sT
TCP connect()扫描:这是最基本的TCP扫描方式
-sS
TCP同步扫描(TCP SYN)
-sF -sN
秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式
-sP
ping扫描
-sU
UDP扫描
-sA
ACK扫描
-sW
对滑动窗口的扫描
-sR
RPC扫描
-b
FTP反弹攻击(bounce attack)
通用选项
说明
-P0
在扫描之前,不必ping主机
-PT
扫描之前,使用TCP ping确定哪些主机正在运行
-PS
对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描
-PI
设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行
-PB
这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描
-O
这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志
-sO
这个选项可以对远程主机所支持的IP协议进行扫描。
-I
这个选项打开nmap的反向标志扫描功能
-f
这个选项使nmap使用碎片IP数据包发送SYN、FIN、XMAS、NULL
-oN
把扫描结果重定向到一个可读的文件logfilename中
-oM
扫描结果重定向到logfilename文件中,这个文件使用主机可以解析的语法
-oS
把扫描结果重定向到一个文件logfilename中
-iL
inputfilename文件中读取扫描的目标
-iR
nmap自己随机挑选主机进行扫描
-p <端口范围>
这个选项让你选择要进行扫描的端口号的范围
-F
快速扫描模式,只扫描在nmap-services文件中列出的端口
-D
使用诱饵扫描方法对目标网络/主机进行扫描
-e
告诉nmap使用哪个接口发送和接受数据包
-g
设置扫描的源端口
-r
告诉nmap不要打乱被扫描端口的顺序
-T <0-5>
[0-5]设置调速模板,级别越高扫描速度越快
三、主要仪器设备
Windows操作系统,企业网络结构,Nmap 和 网络协议分析器。
四、操作方法与实验步骤
本练习主机A、B为一组,C、D为一组,E、F为一组。实验角说明如下:
实验主机
实验角
系统环境
A、C、E
扫描源/目标
Windows
B、D、F
扫描源/目标
Linux
下面以主机A、B为例,说明实验步骤。首先使用“快照X”恢复Windows系统环境。此实验主机A可与B同时相互搜集对方信息,下面的步骤以主机A为例讲解。
1.  ping探测
主机A开启命令行,对主机B进行ping探测,根据主机B的回复,可以确定主机A和主机B之间的连通情况,还可以根据回复数据包的TTL值对操作系统进行猜测。
回复数据包的TTL值:  64    ,主机B操作系统可能为:   
2.  Nmap扫描
(1)对活动主机进行端口扫描
主机A使用Nmap工具对主机B进行TCP端口同步扫描(范围1-150):
Nmap命令nmap sS                        
主机B开放的TCP端口  21 22 23 25 80 88 139                 
对主机B进行UDP端口扫描(范围是110-140):
Nmap命令  nmap sU