信息安全作业5:网络扫描实验

实验目的

  1. 掌握网络扫描技术的原理。

  2. 学会使用 Nmap 扫描工具。

实验环境

  • 实验主机操作系统: IP地址:172.18.61.253
  • 目标机操作系统: IP地址:
  • 网络环境:中山大学东校区有线校园网

实验工具

Nmap (Network Mapper,网络映射器) 是一款开放源代码的网络探测和安全审核的工具。其设计目标是快速地扫描大型网络,也可以扫描单个主机。Nmap以新颖的方式使用原始IP报文来发现网络上的主机及其提供的服务,包括其应用程序名称和版本,这些服务运行的操作系统包括版本信息,它们使用什么类型的报文过滤器/防火墙,以及一些其它功能。虽然Nmap通常用于安全审核,也可以利用来做一些日常管理维护的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

实验过程

主机发现:进行连通性监测,判断目标主机。

假设本地目标IP地址为172.16.1.101,首先确定测试机与目标机物理连接是连通的。

  1. 关闭目标机的防火墙,分别命令行窗口用Windows命令Ping 172.16.1.101和Nmap命令nmap -sP 172.16.1.101进行测试,记录测试情况。简要说明测试差别。

    在cmd窗口ping:很普通的响应,连接正常。

    img

    使用Nmap,在Nmap上执行nmap -sP 172.16.1.101。参数-sP:用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping。只返回了MAC地址,没有端口信息 。

    img

    在Nmap上执行nmap 172.16.1.101,可以看到有了一些端口的信息,23是open的,另外三个被防火墙屏蔽。

    img

  2. 开启目标机的防火墙,重复第一步,结果有什么不同?请说明原因。

    Cmd中还是可以ping通,与第一步相同。

    在Nmap上执行nmap -sP 172.16.1.101,没有端口信息。

    img

    在Nmap上执行nmap 172.16.1.101,部分端口被防火墙屏蔽。

    img

    使用wireshark抓包:

    img

    img

    从23号端口收到ACK/SYN回复,所以Nmap判断其开放;

    img

    其他端口仅有ACK表示收到了发过去的包但没有SYN,收到RST,所以Nmap判断其被屏蔽。

  3. 测试结果不连通,但实际上是物理连通的,什么原因?

    因为端口被防火墙屏蔽。

    端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。

    Nmap通过探测将端口划分为6个状态:

    open:端口是开放的。

    closed:端口是关闭的。

    filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

    unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。

    open|filtered:端口是开放的或被屏蔽,Nmap不能识别。

    closed|filtered :端口是关闭的或被屏蔽,Nmap不能识别。

对目标主机进行TCP端口扫描

  1. 使用常规扫描方式:Nmap -sT 172.16.1.101

    img

    用时205秒。

  2. 使用SYN半扫描方式:Nmap -sS 172.16.1.101

    img

    仅需要2秒

  3. 比较上述两次扫描结果差异、扫描所花费的时间。并进行解释。

    可以看到半开放扫描用时远远小于常规扫描,解释如下:

    TCP SYN 扫描(-sS)是Nmap默认的扫描方式,通常被称作半开放扫描。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么可以判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么可以判断该端口被屏蔽了。因为该方式仅发送SYN包对目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。

    TCP connent 扫描(-sT)使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑使用的方式。

实验体会

本次实验内容不多,过程也比较顺利,使用了Nmap进行端口扫描,了解了端口扫描的不同方式以及各种方式的特点,也顺便复习了一下wireshark抓包以及TCP包的一些字段代表什么意思。总体感觉有点像以前做计网实验,希望以后继续努力。