计算机网络安全实验报告册(3)--Nmap的实验

目录

一、实验目的

二、实验内容

三、实验思路

四、遇到问题及解决办法

五、核心代码与实验结果展示

(1)端口扫描:观察扫描结果的变化

Nmap(kali中自带)

端口扫描

Nmap扫描结果,目标主机192.168.56.1有五个端口处于开放状态:

指定端口

指定扫描方式

物理机阻止Ping探测的可能原因

1 TCP全连接扫描

2 SYN半链接扫描

3 隐秘扫描

(2)主机探测:判断网段中有哪些主机在线。

(3)服务识别:通过 -sV 参数,获取端口对应的服务版本。

(4)系统识别:通过 -O 参数,获取操作系统的版本信息。

(5)结果导出:将扫描结果导出为文本格式和 XML 格式,便于后续分析。

六、思路改进与总结

七、参考文献


实  验  报  告  单

实验名称:     Nmap的使用                                    

同组人:                                实验课时: 

实验室:                                报告日期


一、实验目的

  1. 掌握Nmap工具的基本使用方法。
  2. 学习如何进行端口扫描、主机探测、服务识别和系统识别。
  3. 了解不同扫描方式的区别和应用场景。
  4. 学会将扫描结果导出为文本格式和XML格式。

二、实验内容

  1. 使用Nmap进行端口扫描,包括默认扫描、指定端口扫描和指定扫描方式。
  2. 使用Nmap进行主机探测,扫描网段中的存活主机。
  3. 使用Nmap进行服务识别,识别端口对应的服务版本。
  4. 使用Nmap进行系统识别,识别操作系统版本。
  5. 将Nmap的扫描结果导出为文本格式和XML格式。

三、实验思路

  1. 首先,安装并配置好Nmap工具。
  2. 然后,按照实验内容的顺序依次进行实验操作。
  3. 在每个实验步骤中,观察并分析Nmap的输出结果,以便更好地理解其功能和用法。
  4. 最后,将实验结果整理成报告,总结实验心得和改进思路。

四、遇到问题及解决办法

  1. 问题:在使用Nmap进行端口扫描时,发现有些端口的状态显示为"filtered",无法判断其是否开放。 解决办法:尝试使用不同的扫描方式(如SYN半链接扫描或隐秘扫描)来获取更准确的结果。

五、核心代码与实验结果展示

  1. (1)端口扫描:观察扫描结果的变化

    1. Nmap(kali中自带)

    2. 端口扫描

      1. 扫描主机的「开放端口」,在nmap后面直接跟主机IP或者域名(默认扫描1000个端口)

      2. Nmap扫描结果,目标主机192.168.56.1有五个端口处于开放状态:
        1. 135/tcp - 开放,提供 Microsoft RPC(远程过程调用)服务。
        2. 139/tcp - 开放,提供 NetBIOS 会话服务(Netbios-ssn),常用于网络邻居和旧式Windows文件共享。
        3. 445/tcp - 开放,提供 Microsoft Directory Services,用于Active Directory和其他目录服务。
        4. 902/tcp - 开放,似乎运行的是ISS RealSecure服务,这是一种早期的网络安全服务,现可能已不常用。
        5. 912/tcp - 开放,运行 Apex Mesh 服务,这是Apex Mesh Point的通信端口,一个无线mesh网络系统。
    3. 指定端口

      1. 扫描「指定端口」,使用 -p 参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口

        nmap 192.168.0.100 -p 80

        nmap 192.168.0.100 -p 1-80

        nmap 192.168.0.100 -p 80,3389,22,21

        nmap 192.168.0.100 -p 1-65535

        nmap 192.168.0.100 -p-    # -p- 等价于 -p 1-65535

    4. 指定扫描方式

      1. 「wireshark」抓包分析不同扫描方式的请求信息,判断这些方式的区别。

      2. 物理机阻止Ping探测的可能原因
        • 防火墙设置
          • 许多操作系统自带防火墙,默认情况下可能会阻止ICMP(Internet Control Message Protocol,Internet控制消息协议,Ping命令基于此协议)请求。
        • 安全软件
          • 安装的第三方安全软件也可能会阻止Ping探测。
        • 网络策略或路由器设置
          • 在企业或家庭网络中,如果路由器开启访问限制功能,也可能会影响Ping探测。
      3. 虚拟机中 -Pn 选项的作用
        • 在Nmap扫描工具中,-Pn选项的含义是将目标主机视为在线状态,跳过主机发现阶段(通常主机发现阶段会发送Ping请求来判断主机是否存活)。
        • 举例说明
          • 假设你在虚拟机中有一个运行特定服务的目标主机,由于虚拟机的网络设置或者主机内部的防火墙设置,该主机可能会阻止Ping请求。当你使用常规的Nmap扫描命令(如nmap 192.168.x.x)时,Nmap会先发送Ping请求来确定主机是否存活,如果Ping被阻止,Nmap可能会错误地判断主机为不存活状态。但是,当你使用nmap -Pn 192.168.x.x命令时,Nmap会跳过Ping探测步骤,直接对目标主机的端口进行扫描,这样就可以获取到目标主机上端口的开放情况等信息,即使目标主机阻止了Ping请求。
    5. 1 TCP全连接扫描
      1. 使用 -sT 参数进行TCP全连接扫描。

        「全连接扫描」使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。

      2. ​​
      3. 如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open 。
    6. 2 SYN半链接扫描
      1. 使用 -sS 参数进行SYN半链接扫描。

        「半链接扫描」只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭。

    7. 3 隐秘扫描
      1. 隐秘扫描,只适用于Linux系统。

        「隐秘扫描」向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)

  2. (2)主机探测:判断网段中有哪些主机在线。

    1. 扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。

      本质上是Ping扫描,能Ping通有回包,就判定主机在线。

  3. (3)服务识别:通过 -sV 参数,获取端口对应的服务版本。

    1. 扫描端口时,默认显示端口对应的服务,但不显示服务版本。

      想要识别具体的「服务版本」,可以使用 -sV 参数。

    2. ​​​​​​​

    3. 显示了端口 135 处于开放状态,服务为 msrpc(Microsoft Windows RPC),操作系统为 Windows。

  4. (4)系统识别:通过 -O 参数,获取操作系统的版本信息。

    1. 想要识别「操作系统版本」,可以使用 -O 参数。

    2. ​​​​​​​​​​​​​​

    3. 使用 nmap 对 IP 地址 192.168.56.1 的 135 端口进行了扫描。结果显示该主机处于开机状态,135 端口开放,服务为 msrpc。操作系统检测为 Microsoft Windows 10 或 11,具体版本为 Windows 10 1607 - 11 23H2。扫描在 1.77 秒内完成。

    4. 提示:

      1. Nmap扫描出的系统版本并完全准确,仅供参考。
      2. 当识别不出具体版本时,Nmap会以概率的形式列举出可能的操作系统,如上图所示。
  5. (5)结果导出:将扫描结果导出为文本格式和 XML 格式,便于后续分析。

    1. Nmap的扫描结果可以保存到文件中,比如文本格式、XML格式。

    2. 1)将扫描结果导出为「文本格式」,结果原样保存。nmap 192.168.0.100 -p 80 -oN result.txt

      1. ​​​​​​​​​​​​​​

    3. ​​​​​​​2)将扫描结果导出为「xml格式」,结果的保存格式会发生变化。

      1. ​​​​​​​​​​​​​​

六、思路改进与总结

  1. 在进行端口扫描时,可以尝试多种扫描方式以获取更准确的结果。
  2. 在进行主机探测时,可以考虑使用其他工具辅助判断主机状态。
  3. 在进行服务识别和系统识别时,要注意Nmap的结果可能不完全准确,需要结合其他信息进行判断。
  4. 在导出扫描结果时,可以根据实际需求选择合适的格式(如文本格式或XML格式)。

总结:通过本次实验,掌握了 Nmap 的基本使用方法,理解了不同扫描方式的原理和区别,能够使用 Nmap 进行端口扫描、主机探测、服务识别和系统识别,并能将扫描结果导出为文本格式和 XML 格式。

七、参考文献

  1. Nmap 官方文档:https://nmap.org/book/man.html
  2. Wireshark 官方文档:https://www.wireshark.org/docs/
  3. TCP/IP 协议详解:https://www.tcpipguide.com/
  4. Namp的使用.docx

### 关于面包板电源模块 MB102 的 USB 供电规格及兼容性 #### 1. **MB102 基本功能** 面包板电源模块 MB102 是一种常见的实验工具,主要用于为基于面包板的小型电子项目提供稳定的电压输出。它通常具有两路独立的稳压输出:一路为 5V 和另一路可调电压(一般范围为 3V 至 12V)。这种设计使得它可以满足多种芯片和传感器的不同工作电压需求。 #### 2. **USB 供电方式** MB102 支持通过 USB 接口供电,输入电压通常是标准的 5V DC[^1]。由于其内部集成了 LM7805 稳压器以及可调节电位器控制的直流-直流变换电路,因此即使输入来自电脑或其他低功率 USB 设备,也能稳定地向负载供应电力。不过需要注意的是,如果项目的功耗较高,则可能超出某些 USB 端口的最大电流能力(一般是 500mA),从而引起不稳定现象或者保护机制启动断开连接的情况发生。 #### 3. **兼容性分析** 该型号广泛适用于各种微控制器单元 (MCU),特别是那些像 Wemos D1 R32 这样可以通过杜邦线轻松接入并共享相同逻辑级别的系统[^2]。另外,在提到 Arduino Uno 板时也表明了良好的互操作性,因为两者均采用相似的标准接口定义与电气特性参数设置[^4]: - 对于需要 3.3V 工作环境下的组件来说,只需调整好对应跳线帽位置即可实现精准匹配; - 当涉及到更多外围扩展应用场合下,例如带有多重模拟信号采集任务的情形里,利用 MB102 提供干净无干扰的基础能源供给就显得尤为重要了[^3]。 综上所述,对于打算构建以单片机为核心的原型验证平台而言,选用具备良好声誉记录且易于获取配件支持服务链路上下游资源丰富的品牌产品——如这里讨论过的这款特定类型的配电装置不失为明智之举之一。 ```python # 示例 Python 代码展示如何检测硬件状态 import machine pin = machine.Pin(2, machine.Pin.IN) if pin.value() == 1: print("Power supply is stable.") else: print("Check your connections and power source.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值