当前位置: 首页 > news >正文

网络探测工具Nmap介绍

1. Nmap简介

  • Nmap是一款用于网络发现和安全审计的网络安全工具。可用于列举网络主机清单、管理服务升级调度、监控主机、监控主机服务运行状况、检测目标主机是否在线和端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等。

2. 命令大纲

在这里插入图片描述

3. 命令详细介绍

3.1 端口扫描(Port Scanning)

  • 检测目标主机上各个端口的状态(开放、关闭、过滤等)。支持多种扫描技术,如TCP SYN扫描、TCP Connect扫描、ACK扫描、UDP扫描、FIN扫描、IDLE扫描等。

3.1.1 TCP SYN扫描(半开放扫描)

  • 命令:nmap -sS 192.168.206.140 或者 nmap 192.168.206.140
  • 这种扫描方式通常用于不建立完整连接的情况下探测目标主机的TCP端口状态,避免了完整的三次握手过程,因此更隐蔽。默认就是TCP SYN扫描。
    在这里插入图片描述
  • 我这里扫描虚拟机可用端口,可以看到扫描到了三个开放端口。
    在这里插入图片描述
  • 以80端口为例,通过抓包可以看到,TCP SYN扫描,只要对端回复了ACK就认为端口是开放状态,不用建立三次握手。

3.1.2 TCP Connect扫描

  • 命令:nmap -sT 192.168.206.140
  • TCP Connect扫描会完成三次握手以确定端口是否开放。虽然这种方法相对慢且可能更容易被检测到,但其结果最可靠。
    在这里插入图片描述
  • 同样扫描到了三个开放端口
    在这里插入图片描述
  • 抓包可以看到,TCP Connect扫描必须完成三次握手才认为端口是开放状态。

3.1.3 UDP扫描

  • 命令:nmap -sU 192.168.206.140
  • 扫描开放的UDP端口
    在这里插入图片描述
    在这里插入图片描述
  • 抓包可以看到UDP扫描时的数据包。

3.1.4 端口服务及版本扫描

  • 命令:namp -sV 192.168.206.140
  • 可以扫描到端口对应的服务及版本信息
    在这里插入图片描述
  • 可以看到,扫描的22端口是OpenSSH服务,80和8011是Nginx服务。

3.1.5 详细信息扫描

  • 命令:namp -vv 192.168.206.140
  • 提供更详尽的扫描过程信息和结果反馈。这包括了更多的调试信息、每个步骤的详细说明以及可能影响扫描行为的内部决策等。
    在这里插入图片描述
  • 可以比对下,详细扫描的结果

3.1.6 所有信息扫描

  • 命令:nmap -A 192.168.206.140
  • 这样扫描的更加详细,并且还会扫描出路由信息
    在这里插入图片描述
  • 我扫描的虚拟机地址,因此这里是直连。
    在这里插入图片描述
  • 扫描百度可以看到,经过了好几个路由。

3.1.7 随机扫描和延时扫描

  • 命令:nmap --randomize-hosts --scan-delay 5 192.168.206.140
  • 有时候扫描太快,可能会触发主机的防火墙,因此可以延时扫描,5代表延时5秒

3.1.8 指定端口扫描

  • 扫描指定端口:nmap 192.168.206.140 -p 80 或者 nmap 192.168.206.140 -p 80,8011
  • 扫描指定范围的端口:nmap 192.168.206.140 -p 1-1024
  • 扫描全部端口(1-65535端口):nmap 192.168.206.140 -p-

3.1.9 扩展

  • 如果我们是维护公司服务器的,有时候扫描出来公司服务器的端口开放着,但不知道这个端口是干什么的,是谁启动的。可以登录服务器,使用 lsof -i:port 查看端口
    在这里插入图片描述
  • 比如这里扫描到8011端口不知道是什么,就可以登录对应服务器查看。会有详细描述,包括所属程序,启动用户和端口状态等信息。
    在这里插入图片描述
  • 如果从网页去访问8011端口,也能从服务看到对方的信息。

3.2 主机探测(Host Discovery)

  • 也称为ping扫描或存活探测,用于检测网络上的活动主机。它能通过多种方式(如ICMP、TCP、UDP等)来确定哪些主机在线。

3.2.1 扫描单个主机

  • 命令:nmap -sP 192.168.1.2
    在这里插入图片描述
  • 如果主机在线,会显示Host is up
    在这里插入图片描述
  • 扫描一个不存在的主机,会报Host seems down,主机宕机。

3.2.2 扫描一个IP地址范围

  • 命令:nmap -sP 192.168.1.1-255或者nmap -sP 192.168.1.1/24
    在这里插入图片描述
  • 在1-255网段,扫描到了三个在线的主机。

3.3 操作系统类型检测

  • 命令:nmap -O 192.168.206.140
  • 用于探测目标主机运行的操作系统类型和版本。
    在这里插入图片描述

3.4 Nmap防火墙

  • nmap扫描出来的端口状态
    • open: 端口开放
    • filtered: 端口被防火墙或安全软件阻止了,也可能是网络堵塞
    • closed: 端口关闭
  • 如果扫描时发现有的端口被防火墙阻止了,可通过以下方法绕过防火墙
    • -PS: 实施TCP SYN ping扫描绕过防火墙
    • -PA: 只扫描ACK包,可绕过防火墙
    • -PU: 只对目标进行udp ping扫描。这种类型的扫描会发送UDP包来获取一个响应,可绕过防火墙。
    • -PP: 进行一个ICMP时间戳ping扫描,可绕过防火墙
    • -PE: 进行一个IEMP在指定的系统上输出ping,可绕过防火墙
    • -Pn: 不采用ping方式扫描,可绕过防火墙
    • -sA: 用于发现防火墙规则

3.5 结果导出

  • 可以把扫描结果导出到文件中
  • 命令:nmap 192.168.206.140 -oN res.txt
  • 命令:nmap 192.168.206.140 -oX res.xml
http://www.lryc.cn/news/325759.html

相关文章:

  • 20240319-2-机器学习基础面试题
  • 0202矩阵的运算-矩阵及其运算-线性代数
  • python中的__dict__
  • 数学分析复习:无穷乘积
  • 02 React 组件使用
  • 你就是上帝
  • Spring Cloud: openFegin使用
  • 流畅的 Python 第二版(GPT 重译)(二)
  • Flutter 旋转动画 线性变化的旋转动画
  • 【Web应用技术基础】HTML(5)——案例1:展示简历信息
  • ethers.js:wallet(创建钱包,导入助记词,导入私钥)
  • 面试笔记——Java集合篇
  • 在 IntelliJ IDEA 中使用 Terminal 执行 git log 命令后的退出方法
  • 架构整洁之道-读书总结
  • 蓝桥杯学习笔记(贪心)
  • 【无标题】如何使用 MuLogin 设置代理
  • 芒果YOLOv8改进135:主干篇GCNet,统一为全局上下文建模global context结构,即插即用,助力小目标检测,轻量化的同时精度性能涨点
  • 全面:vue.config.js 的完整配置
  • 海量数据处理项目-账号微服务注册Nacos+配置文件增加
  • DNS 服务 Unbound 部署最佳实践
  • 力扣HOT100 - 42. 接雨水
  • 攻防世界-baby_web
  • 数据可视化基础与应用-04-seaborn库从入门到精通01-02
  • 学习 zustand
  • 竞赛 opencv python 深度学习垃圾图像分类系统
  • vsto worksheet中查找关键字【关键字】获取对应的整列 union成一个range
  • flask_restful规范返回值之参数设置
  • 基于java+springboot+vue实现的超市管理系统(文末源码+Lw+ppt)23-354
  • AI大模型学习:开启智能时代的新篇章
  • 【字符串】字符串哈希