Nmap使用教程

  • 一、端口扫描
    • 1. 指定端口
    • 2. 指定扫描方式
      • 2.1 TCP全连接扫描
      • 2.2 SYN半链接扫描
      • 2.3 隐秘扫描
  • 二、主机探测
  • 三、服务识别
  • 四、系统识别
  • 五、扫描结果导出

kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。

Nmap有四种基本功能:「端口扫描」、「主机探测」、「服务识别」和「系统识别」。

一、端口扫描

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

nmap 192.168.31.180


从上图可以看到:它用1.58秒扫描了1000个端口,其中991个端口关闭,结果中列出的9个端口就是开放的端口。

1. 指定端口

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

nmap 192.168.31.180 -p 80
nmap 192.168.31.180 -p 1-80
nmap 192.168.31.180 -p 80,3389,22,21
nmap 192.168.31.180 -p 1-65535
nmap 192.168.31.180 -p-     # -p- 等价于 -p 1-65535

2. 指定扫描方式

我们通过kali中的「wireshark」抓包分析不同扫描方式的请求信息,从而判断这些方式的区别。

点开kali的左上角,输入 wireshark 单击打开,选择抓包的网卡(我这里是 eth0 )。

输入过滤条件ip.addr == 192.168.31.180 and tcp.port == 80后,点击箭头应用。


这个过滤条件的意思是:过滤IP地址是 192.168.31.180 并且 端口是 TCP的80端口。

设置完过滤条件后,我们在命令行执行扫描命令,然后查看「wireshark」中的请求包。

2.1 TCP全连接扫描

使用 -sT 参数进行TCP全连接扫描。

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

nmap 192.168.31.180 -p 80 -sT

1)如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open 。

2)如果端口关闭,就只能进行一次握手,无法建立链接,扫描结果中,STATE字段显示为 closed。

2.2 SYN半链接扫描

使用 -sS 参数进行SYN半链接扫描。

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

nmap 192.168.31.180 -p 80 -sS

1)如果端口开放,就会进行两次握手,扫描结果中,STATE字段为 open 。

2)如果端口关闭,就只有一次握手,扫描结果中,STATE字段为 closed。

2.3 隐秘扫描

隐秘扫描,只适用于Linux系统。

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

nmap 127.0.0.1 -p 80 -sF # Fin扫描
nmap 127.0.0.1 -p 80 -sN    # Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX    # Xmas扫描(flags的FIN、URG、PUSH都为1的包)

二、主机探测

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

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

nmap -sP 192.168.31.0/24


从上图可以看到:它用2秒扫描了这个网段的256个IP,其中有3个存活主机,效率还是蛮不错的。

三、服务识别

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

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

nmap 192.168.31.180 -p 80 -sV


扫描结果中,VERSION字段显示服务的详细版本。

四、系统识别

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

nmap 192.168.31.180 -p 80 -O


提示:

  1. Nmap扫描出的系统版本并完全准确,仅供参考。
  2. 当识别不出具体版本时,Nmap会以概率的形式列举出可能的操作系统,如上图所示。

五、扫描结果导出

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

1)将扫描结果导出为「文本格式」,结果原样保存。

nmap 192.168.31.180 -p 80 -oN result.txt

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

nmap 192.168.31.180 -p 80 -oX result.xml

Nmap使用教程图文教程(超详细)相关推荐

  1. ElasticSeach详细安装教程--图文介绍超详细

    目录 前期准备 创建用户 下载ElasticSeach的安装包,本案例使用版本6.2.4 修改配置项jvm.options 修改配置项elasticsearch.yml 解决报错 启动Elastics ...

  2. DM数据库安装及启动教程(Linux超详细版)

    DM数据库安装及启动教程(Linux超详细版) 一.部署前准备工作 1.新建 dmdba 用户 2.修改文件打开最大数 3.挂载镜像文件 4.新建安装目录 二.DM8Linux的安装部署 1.命令行安 ...

  3. QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文步骤

    引用:https://www.cnblogs.com/chenmingjun/p/8392713.html QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文教程 文章目录 Q ...

  4. windows安装Weblogic教程(图文教程超详细版)

    windows安装Weblogic教程(超详细) 一. 下载 WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据自己的情况选择),本文档下载的 ...

  5. k8s核心组件详细介绍教程(配超详细实例演示)

    本文实验环境基于上篇文章手把手从零开始搭建k8s集群超详细教程 本文根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps学习总结而来 k8s核心组件介绍 1 ...

  6. mMySQL中触发器和游标的介绍与使用L8.0.23免安装版配置详细教程 msi安装超详细教程

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 一.下载MySql,安装 ...

  7. hyperworks2021安装教程(附超详细安装步骤)

    HyperWorks 2021是一款全球领先的有限元建模/仿真套件,同时也是由全球知名的企业级工程软件供应商"Altair"公司在2021年度发布的该系列软件最新的版本.且通过它强 ...

  8. android4.0教程,图文教程现身,在Win7等系统里跑起Android4.0

    Win7之家( www.win7china.com):图文教程现身,在Win7等系统里跑起Android4.0 去年的时候,软媒给大家介绍和推荐过如何在Windows下直接全屏使用安卓应用,当时是用到 ...

  9. vim使用教程图文教程(零基础超详细)

    「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 vim编辑器使用教程 1. 三种模式 2. 三种打开方式 3. 命令模式 3. ...

最新文章

  1. 央视深入报道,国内主流芯片真实水平如何?
  2. 侠客X开发工作已经持续了2个月左右了。
  3. Xshell连接服务器桌面调用服务器的图形==Xmanager的===Xbrowser===XDMCP远程桌面===调用virt-mannager管理工具;、Xshell用普通用户调用图形
  4. python实现批量压缩文件夹
  5. @ResponseBody ResponseEntity
  6. 数据科学包3-pandas快速入门2
  7. 数组为什么可以使用linq查询
  8. iOS人脸识别 用苹果api<AVFoundation/AVFoundation.h>
  9. 2019.07.一年级暑假——自动随机生成100以内加减法算术题的python实现
  10. 机器学习之加州房价预测(三)
  11. 【智能安全车载中控系统】(一)概览
  12. 用C++实现矩阵计算器
  13. 虹科干货 | 仅需3步!教你如何基于Windows系统操作使用RELY-TSN-KIT评估套件
  14. 技术宅教你如何煎一个特别牛逼且装逼的牛排
  15. echarts 柱状图,每根柱子显示不同颜色
  16. 通用设计法则:80/20法则
  17. centos 调教日记
  18. c语言选择冒泡排序,c语言选择冒泡排序讲解(附代码)
  19. signature=9584e09619c4aa010122e7ad7d4cb4c6,来用百度密语吧!!!
  20. Android10有哪些功能,如何尝试Android 10的五大最佳功能

热门文章

  1. freeCodeCamp-响应式网页设计-制作一个致敬页
  2. 最优化的非线性例子集中
  3. 重定向防止表单重复提交
  4. Java程序员秋招三面蚂蚁金服,java开发笔试题编程题
  5. 记一次 ftp 可以正常登录,但是输入ls dir 命令卡死的问题
  6. 官宣!华为断臂为了自救
  7. windows 基于 MediaPipe 实现 PoseTracking
  8. 时间序列(time serie)分析系列之Prophet6
  9. Meteor - Android 打包
  10. 开启MySQL远程访问权限 允许远程连接