nmap使用教程图文教程(超详细)(代码片段)

士别三日wyx 士别三日wyx     2023-01-15     496

关键词:

Nmap使用教程

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

linux系统下安装配置nginx超详细图文教程(代码片段)

...本,把鼠标移动到上面,右键-复制链接地址我们使用wget命令把Nginx安装包下载到/usr/local/目录中#下载nginx安装包wget-chttp://nginx.org/download/nginx-1.23.1.tar.gz注意:如果我们机子中没有安装wget需要先安装一下#安装wgetyuminstal... 查看详情

安装图文并茂,插件体验超棒,vscode这款编辑器神器详细教程来了(代码片段)

你是否正在努力为Python编程和数据科学寻找最佳的代码编辑器?今天我将向你展示我最喜欢的一款工具,它就是VisualStudioCode,一款来自微软的一个完全免费的代码编辑器,它是迄今为止我发现的最灵活、功能最丰... 查看详情

超详细图文保姆级教程:app开发新手入门

...其核心技术是面向前端的App混合开发技术,即让开发者仅使用web技术即可生成原生App并支持应用上架苹果的appstore及各大安卓市场。同时具备管理后台和API开发的数据云(即云函数开发),提供给UE/UI的码前,提供需求->原型-&g... 查看详情

windows下git和github的使用图文详细教程(代码片段)

这里介绍windows下的git和GitHub使用。linux下git和github搭建使用教程参考:https://blog.csdn.net/weixin_52270081/article/details/1191407241、注册gihub账号github官网:https://github.com/自行创建即可。登录,createrepository 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

centos7详细安装教程--图文介绍超详细

CentOS7详细安装教程--图文介绍超详细VMwareCentOS安装步骤一、安装前的准备二、下载镜像文件三、开始安装第1步:文件→ 新建虚拟机或直接点击创建新的虚拟机图标第2步:选择典型(推荐)→ 下一步第3步:... 查看详情

订阅号文章如何添加图文超链接?(代码片段)

...来看下效果I、图片超链接1.1实现原理以CSDN平台为媒介,使用markdown编辑器利用标签实现图片链接。将发布之后的图文链接直接拷贝到公众号即可 查看详情

numpy超详细教程:ndarray的内部机理及高级迭代(代码片段)

...内部机理在前面的内容中,我们已经详细讲述了ndarray的使用,在本章的开始部分,我们来聊一聊ndarray的内部机理,以便更好的理解后续的内容。1、ndarray的组成ndarray与数组不同,它不仅仅包含数据信息 查看详情

python基础教程,python入门教程(超详细)(代码片段)

...数平台上写脚本和快速开发应用的编程语言。目录为什么使用PythonPython应用场合Helloworld国际化支持便易用的计算器字符串,ASCII和UNICODE使用List条件和循环语句如何定义函数 查看详情

超详细pytorch入门教程(代码片段)

...是Pytorch?Pytorch是一个基于Numpy的科学计算包,向它的使用者提供了两大功能.作为Numpy的替代者,向用户提供使用GPU强大功能的能力.做为一款深度学习的平台,向用户提供最 查看详情

gcc/g++超详细上手教程(代码片段)

Linux编译器-gcc/g++使用:写在开篇:详细介绍一哈Linux下gcc/g++的使用,收藏起来呀~~正文开始@Assassin目录:Linux编译器-gcc/g++使用:1.背景知识:2.gcc如何完成:3.编译过程:4.预 查看详情

安装银河麒麟桌面系统v10超详细图文教程(代码片段)

...机,这个过程也适用其他Linux系统。2.1开始新建  使用自定义设置,在创建过程中能把虚拟机参数设置搞定了。2.2选择默认兼容性  这个兼容性一般越高越好,如果要迁移到其他机子上,可根据具体对方软件... 查看详情

超详细pytorch入门教程(代码片段)

Pytorch入门教程(二)Pytorch入门教程(一)1.张量Tensor2.Pytorch中创建张量3.Pytorch中tensor的常用方法4.tensor的数据类型5.tensor的其他操作Pytorch入门教程(一)请参考:【超详细】Pytorch入门教程(一)... 查看详情

超详细ubuntu20.04安装apache+php网页环境图文教程,常见问题和解决方案(代码片段)

...情况下,它可以和MySQL数据库、Perl以及PHP脚本解释器配合使用,构成LAMP架构,就可以搭建动态网站系统。Apache是世界使用排名第一、最流行的Web服务器端软件,是绝大多数的网站都使用的Web服务器端软件。演示环境网页环境:Ap... 查看详情

超详细博客入门编写教程(代码片段)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左... 查看详情

超详细nacos集群配置及nginx反向代理教程!(代码片段)

...置Nacos(1)、安装配置在/opt下创建一个文件夹mkdirmynacos可以使用xftp将下载好的压缩包传输到该文件夹中使用该命令解压 查看详情