Nmap使用教程图文教程(超详细)

news/2024/5/3 4:13:33

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

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/140155.html

相关文章

【C++】一文带你走进list的模拟实现

🌈欢迎来到C专栏~~list模拟实现 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤…

编译原理复习——绪论

高级语言程序如何在计算机上执行? 翻译程序,编译程序:先编译后执行 把高级语言程序翻译成机器语言程序 运行所得机器语言程序求得计算结果 翻译程序/翻译器(Translator) 它读入用某种语言编写的程序(源程序—Source Program),并翻…

八数码—unordered哈希表即记录步骤—A*算法—曼哈顿距离—BFS

在一个 33 的网格中,1∼8 这 8 个数字和一个 X 恰好不重不漏地分布在这 33的网格中。 例如: 1 2 3 X 4 6 7 5 8在游戏过程中,可以把 X 与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换&a…

JavaScript游戏开发(1)(笔记)

文章目录一、让角色动起来二、背景的视差效果2.1 循环背景2.2 视差效果三、敌人的移动模式3.1 敌人13.2 敌人23.3 敌人33.4 敌人4四、碰撞动画4.1 碰撞检测4.2 碰撞动画附录素材可以去一位大佬放在github的源码中直接下&#xff0c;见附录。 一、让角色动起来 显示页面 <…

kali部署dvwa靶场

DVWA&#xff08;Damn Vulnerable Web Application&#xff09;是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用&#xff0c;旨在为安全专业人员测试自己的专业技能和工具提供合法的环境&#xff0c;帮助web开发者更好的理解web应用安全防范的过程。 一共有十个模块&#xf…

ElasticSearch系列——ElasticSearch8.5介绍、安装、Http方式使用

ElasticSearch系列——ElasticSearch8.5介绍、安装、Http方式使用ElasticSearch8.5官方地址全文检索倒排索引ES安装windows启动ES使用创建索引查询索引查询所有索引删除索引创建文档创建文档&#xff08;自定义文档ID&#xff09;文档查询文档查询&#xff08;所有内容文档&…

Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ SQLite简介 SQLite是一种小巧的嵌入式数据库&#xff0c;使用方便&#xff0c;开发简单&#xff0c;如同mysql&#xff0c;oracle那样&#xff0c;SQLite也采用SQL语句管理数据&#xff0c;由于它属于轻型数据库&#xff0…

智能交通信号灯控制策略

背景介绍 调查发现&#xff0c;通勤时间对人们生活幸福度具有较大的影响&#xff0c;如何有效的减少人们的平均通勤时间&#xff0c;实现以人为本的生活理念&#xff0c;是急需解决的问题。从平均通勤时间来看&#xff0c;全国十大城市中&#xff0c;北京和上海位居前两位&…