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

nmap的使用

目录

nmap简介

主要作用

nmap原理

namp使用

options 

nmap列举远程机器开放端口

普通扫描

扫描范围端口

对几个端口探测

对所有端口进行探测

指定协议探测端口

扫描对应协议的所有端口

端口状态

nmap识别目标机器上服务的指纹

服务指纹

识别目标机器服务信息

nmap侵略性探测

探测目标机器操作系统、服务等

发现局域网中存活的主机

前言

nmap主机发现

对该网络中所有主机ping扫描

nmap结果输出

NSE脚本的使用

NSE介绍

使用脚本获取服务title

脚本总结

nmap使用多个分类脚本

分类脚本

NSE调试功能使用

NSE更新

使用特定网卡进行探测

前言

查看所有网卡

指定网卡进行探测

对比扫描结果ndiff

ndiff工具

前言

使用方法

nmap简介

Nmap是一款开源、免费的网络探测、安全审计工具。

主要作用

  • 探测一组主机是否在线
  • 扫描主机端口,嗅探所提供的网络服务
  • 推断主机所用的操作系统

nmap原理

理解:nmap安装在电脑之后,电脑就可以使用nmap发送数据包,nmap在探测远程机器时会发送大量的数据包,并且通过输入的命令进行判断,判断nmap输入的命令中是否包含域名,若包含域名,则需要利用DNS服务器进行域名解析,然后发送ICMP Echo Request来探测主机存活性,若判断该主机存活,就会发送对应的其他数据包到远程机器,远程机器就会根据接收到的数据包做出对应的响应发送到nmap,nmap就会根据返回的响应进行解析得到对应的机器信息

nmap官网:https://nmap.org/

namp使用

语法:nmap [options] 域名信息/IP地址

options 

  • --dns-servers dns地址:指定特定dns服务器解析域名
  • --script 脚本名称:使用nmap的脚本
  • -e 网卡名:指定网卡进行探测
  • -Pn:不触发防火墙安全机制的扫描,停止之前的ICMP请求
  • -p m-n:扫描m-n范围之间的所有端口(当然也可以仅指定一个端口扫描)
  • -p m,n:扫描m端口和n端口
  • -p T:m,Un指定tcp协议探测m号端口,udp协议探测n号端口
  • -p 协议名:扫描对应协议的所有端口
  • -p-:对该服务的所有端口进行探测
  • -sV:识别目标机器的服务信息
  • -A:使用侵略性的策略进行探测(操作系统识别、端口服务指纹识别)
  • -v:持续输出返回的解析(按回车来查看)
  • -Tn:n的范围为1-5,探测速度由慢到快
  • -sC:使用nmap脚本进行探测
  • -O:探测目标机器上的操作系统信息
  • -sP CIDR:进行批量扫描(使用此参数后面需要接的时CIDR,不需要接IP地址)
  • -sn CIDR:对该网络中所有主机进行ping扫描,验证存活性
  • -oX xxx.xml:nmap探测结果输出到xxx.xml文件中
  • -d debug:启动调试模式(debug范围0-9)

nmap技术查看:nmap -h

nmap列举远程机器开放端口

普通扫描

扫描scanme.nmap.org信息:nmap scanme.nmap.org

注意:nmap进行探测之前要把域名通过DNS服务器解析为IP地址,我们也可以使用指定的DNS服务器进行解析(使用--dns-servers参数指定)

指定dns扫描域名:nmap --dns-server 8.8.8.8 scanme.nmap.org

扫描范围端口

前言:对于默认的端口范围,并不能够满足日常工作的需要。可以使用-p m-n来指定m-n之间的所有端口。

扫描0-100之间的端口:nmap -p 0-100 scanme.nmap.org

对几个端口探测

扫描服务的80,135端口:nmap -p 80,135 scanme.nmap.org

对所有端口进行探测

扫描服务的所有端口:nmap -p- 192.168.1.4

指定协议探测端口

语法:nmap -p T:25,U53 scanme.nmap.org

解释:对于scanme.nmap.org服务,以tcp协议探测25号端口,udp协议探测53号端口(有对应协议的端口则显示,没有则不显示)

扫描对应协议的所有端口

扫描ssh协议端口:nmap -p ssh scanme.nmap.org

注意:协议名写可以用通配符(s*代表所有以s开头的协议端口都被扫描) 

 

端口状态

nmap识别目标机器上服务的指纹

服务指纹

  • 为了确保有一个成功的渗透测试或网络设备监控,必须要知道目标系统中服务的指纹信息。服务指纹信息包括服务端口号,服务名和版本等
  • 通过分析目标往nmap发送的数据包中某些协议标记、选项和数据,我们可以推断发送这些数据包的操作系统等
  • nmap通过向目标主机发送多个UDP和TCP数据包并分析其响应来进行操作系统指纹识别工作

识别目标机器服务信息

识别scanme.nmap.org服务信息:nmap -sV scanme.nmap.org

注意:-sV表示识别目标机器上的服务信息 

nmap侵略性探测

探测目标机器操作系统、服务等

语法1:nmap -A -v -T4 scanme.nmap.org

  • -A:使用侵略性的策略进行探测(操作系统识别、端口服务指纹识别)
  • -v:持续输出返回的解析(按回车来查看)
  • -Tn:n的范围为1-5,探测速度由慢到快

语法2:nmap -sC -sV -O scanme.nmap.org

  • -sC:使用nmap脚本进行探测
  • -sV:识别目标机器的服务信息
  • -O:探测目标机器上的操作系统信息

发现局域网中存活的主机

前言

  • 一个局域网中肯定连接着多台设备,可以使用ping命令来进行地址探测,但是若一个网络很大,这样的探测就很费劲
  • CIDR无类别域间路由,其可以快速表示一个网络(172.16.1.1/24表示在172.16.1.1-172.16.1.255之间所有的主机IP地址)

nmap主机发现

对该网络中所有主机ping扫描

语法1:nmap -sP CIDR

语法2:nmap -sn CIDR

注意:扫描过程中nmap使用了TCP SYN扫描、ICMP echo Request来探测主机存活 

案例:nmap -sP 192.168.1.1/24

nmap结果输出

语法:nmap -sn CIDR -oX test.xml

理解:对该网络中所有主机进行ping扫描,同时将结果输出到test.xml中

执行:nmap -sn 192.168.1.1/24 -oX test.xml

由此观之多出来个test.xml文件。

NSE脚本的使用

NSE介绍

  • NSE为nmap脚本引擎,内置了很多可以用来扫描的,特定任务的脚本。通过NSE可以不断拓展nmap的扫描策略,加强nmap的功能
  • Nmap中使用--script参数来指定调用的脚本,并且脚本存储在Nmap安装路径下的script文件夹中,对于kail linux存储在/usr/share/nmap/script/下

使用脚本获取服务title

语法:nmap --script http-title scanme.nmap.org

注意:以上通过nmap使用http-title脚本进行探测,还可以使用其他脚本进行探测。到目前为止可以用的有589个脚本,每个脚本都有其独特的功能。

脚本总结

  • http-title:获取服务的title
  • http-headers:获取服务的请求头

nmap使用多个分类脚本

前言:对于目标使用多个分类脚本进行探测,可以更快的找到目标的信息及弱点

语法:nmap -sV --script vuln scanme.nmap.org

分类脚本

  • vuln:漏洞分类脚本
  • --script="version,discovery":版本信息分类脚本

NSE调试功能使用

语法:nmap -sV --script vuln -d 3 192.168.1.4

注意:

  • -d debug表示调试模式启动,debug范围0-9
  • 这样可以更加细致的查看脚本的过程

NSE更新

语法:nmap --script-updatedb

作用:更新脚本引擎

使用特定网卡进行探测

前言

  • nmap是一款可扩展性强的工具,并且有些NSE脚本支持嗅探。但是这种功能需要网卡支持混杂模式才可以。或者当计算机上有两张网卡,并且两张网卡对应着不同网络
  • nmap中提供了切换特定网卡功能的参数-e

查看所有网卡

语法:nmap --iflist 

指定网卡进行探测

语法:nmap -e 网卡名 CIDR

解释:指定网卡可以对不同的网段进行探测,前提是电脑必须有多个网卡,设置多个网段

注意:若不指定网卡那么就会依次尝试向这些网卡发送数据包,若联通就会继续探测,若不连通就会换下一张网卡进行探测

对比扫描结果ndiff

前言:对比某个网络进行探测的时候,有可能之前探测过的结果,经过探测之后,需要对之前的结果与现在的结果进行对比,找到两次的不同点(目的:监视网络变化,以达到网络监控的目的)

ndiff工具

前言

  • 在nmap整个工程中,除了主要的nmap工具外,还包括很多其他的工具,接下来要使用nidiff工具
  • ndiff主要作用就是比较两个nmap的xml文件,比较他们的不同点

查看ndiff帮助:ndiff -h

使用方法

这里用windows扫描kail(192.168.1.5)

探测kail操作系统和服务:nmap -A -v -T4 192.168.1.5 -oX kail1.xml

kail启动一个服务,监听8000端口:nc -l -p 8000

探测kail操作系统和服务:nmap -A -v -T4 192.168.1.5 -oX kail2.xml

比较nmap两次扫描的结果:ndiff kail1.xml kail2.xml

注意:-代表kail1文件内容,+代表kail2文件中的内容

相关文章:

nmap的使用

目录 nmap简介 主要作用 nmap原理 namp使用 options nmap列举远程机器开放端口 普通扫描 扫描范围端口 对几个端口探测 对所有端口进行探测 指定协议探测端口 扫描对应协议的所有端口 端口状态 nmap识别目标机器上服务的指纹 服务指纹 识别目标机器服务信息 …...

Python爬虫-某网酒店数据

前言 本文是该专栏的第5篇,后面会持续分享python爬虫案例干货,记得关注。 本文以某网的酒店数据为例,实现根据目标城市获取酒店数据。具体思路和方法跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地址:aHR0cHM6Ly93d3cuYnRoaG90ZWxzLmNvbS9saXN0L3NoYW5naGFp …...

了解atoi和offsetof

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 一、简介 二、深度剖析 1.atoi 2.offsetof 三、应用场景 一、简介二、深度剖析 1.atoi2.offsetof三、应用场景 一、简介 在C语言中,有许多…...

命令行编译VS工程

先输入以下命令,因为命令出错了,就会弹出帮助,如下: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /help 反正就是Microsoft Visual Studio 的安装路径。 帮助界面如下&#xff1a…...

Linux防火墙命令

开启防火墙 systemctl start firewalld关闭防火墙 systemctl stop firewalld # 暂时关闭防火墙 systemctl disable firewalld # 永久关闭防火墙(禁用开机自启) systemctl enable firewalld # 永久开启防火墙(启用开机自启)重启防火墙 systemctl restart firewalld重载规则 …...

大数据平台数据脱敏是什么意思?有哪些方案?

大数据平台包含了海量多样化数据,所以保障大数据平台数据安全非常重要,数据脱敏就是手段之一。今天我们就来简单聊聊大数据平台数据脱敏是什么意思?有哪些方案? 大数据平台数据脱敏是什么意思? 大数据平台数据脱敏简…...

前后端分离不存在会话,sessionid不一致问题

目录 1.使用拦截器解决跨域的示例: 2.使用redis,不使用session 前后端不分离项目我们可以通过session存储数据,但是前后端分离时不存在会话,每次请求sessionid都会改变,当值我们储存的数据不能取出来。 1.使用拦截器…...

Python 3+ 安装及pip配置

Python 3 安装及pip安装升级 1. 安装Python依赖2. 在Linux服务器下载3. 创建python链接4. 配置pip 服务器环境:Linux CentOS 7 内核版本3.10 Python版本:3.10.6 由于CentOS 7默认安装python2.7,使用yum可以查到最新的python3版本为3.6.8&…...

StarRocks入门到熟练

1、部署 1.1、注意事项 需要根据业务需求设计严谨的集群架构,一般来说,需要注意以下几项: 1.1.1、FE数量及高可用 FE的Follower要求为奇数个,且并不建议部署太多,通常我们推荐部署1个或3个Follower。在三个Followe…...

Zabbix Api监控项值推送:zabbix_sender

用法示例: zabbix_sender [-v] -z server [-p port] [-I IP-address] [-t timeout] -s host -k key -o value其中: -z 即 --zabbix-server,Zabbix server的主机名或IP地址。如果主机由proxy监控,则应使用proxy的主机名或IP地址-…...

Shell脚本开发:printf和test命令的实际应用

目录 Shell printf 命令 打印简单文本 Shell test 命令 1、文件测试 2、字符串比较 3、整数比较 逻辑运算: Shell printf 命令 当你使用Shell中的printf命令时,它可以帮助你格式化和输出文本。 打印简单文本 这将简单地打印字符串"Hello, …...

React笔记(三)类组件(1)

一、组件的概念 使用组件方式进行编程,可以提高开发效率,提高组件的复用性、提高代码的可维护性和可扩展性 React定义组件的方式有两种 类组件:React16.8版本之前几乎React使用都是类组件 函数组件:React16.8之后,函数式组件使…...

Hugging Face实战-系列教程4:padding与attention_mask

🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在notebook中进行 本篇文章配套的代码资源已经上传 上篇内容: Hugging Face实战-系列教程3:文本2分类 下篇内容: …...

睿趣科技:抖音开网店卖玩具怎么样

近年来,随着社交媒体平台的飞速发展,抖音作为一款短视频分享应用也迅速崭露头角。而在这个充满创业机遇的时代背景下,许多人开始探索在抖音平台上开设网店,尤其是卖玩具类商品,那么抖音开网店卖玩具究竟怎么样呢? 首先…...

简易虚拟培训系统-UI控件的应用4

目录 Slider组件的常用参数 示例-使用Slider控制主轴 示例-Slider控制溜板箱的移动 本文以操作面板为例,介绍使用Slider控件控制开关和速度。 Slider组件的常用参数 Slider组件下面包含了3个子节点,都是Image组件,负责Slider的背景、填充区…...

#include <graphics.h> #include <conio.h> #include<stdlib.h>无法打开源文件解决方案

一、问题描述 学习数据结构链表的过程中&#xff0c;在编写漫天星星闪烁的代码时&#xff0c;遇到了如下图所示的报错&#xff0c;#include <graphics.h> 、 #include <conio.h> 等无法打开源文件。 并且主程序中initgraph(初始化画布)、setfillcolor&#xff08;…...

【C语言】数据结构的基本概念与评价算法的指标

1. 数据结构的基本概念 1.1 基本概念和术语 1.1.1 数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料 1.1.2 数据元素 数据元素是数据的基本单位,通常作为一个整体进行考虑和…...

[PyTorch][chapter 54][Variational Auto-Encoder 实战]

前言&#xff1a; 这里主要实现&#xff1a; Variational Autoencoders (VAEs) 变分自动编码器 其训练效果如下 训练的过程中要注意调节forward 中的kle ,调参。 整个工程两个文件&#xff1a; vae.py main.py 目录&#xff1a; vae main 一 vae 文件名&#xff1a; vae…...

Java实现HTTP的上传与下载

相信很多人对于java文件下载的过程都存在一些疑惑&#xff0c;比如下载上传文件会不会占用vm内存&#xff0c;上传/下载大文件会不会导致oom。下面从字节流的角度看下载/上传的实现&#xff0c;可以更加深入理解文件的上传和下载功能。 文件下载 首先明确&#xff0c;文件下载…...

VPG算法

VPG算法 前言 首先来看经典的策略梯度REINFORCE算法&#xff1a; 在REINFORCE中&#xff0c;每次采集一个episode的轨迹&#xff0c;计算每一步动作的回报 G t G_t Gt​&#xff0c;与动作概率对数相乘&#xff0c;作为误差反向传播&#xff0c;有以下几个特点&#xff1a; …...

docker 笔记5:redis 集群分布式存储案例

尚硅谷Docker实战教程&#xff08;docker教程天花板&#xff09;_哔哩哔哩_bilibili 目录 1.cluster(集群)模式-docker版哈希槽分区进行亿级数据存储 1.1面试题 1.1.1 方案1 哈希取余分区 1.1.2 方案2 一致性哈希算法分区 原理 优点 一致性哈希算法的容错性 一致性…...

【Vue2】 axios库

网络请求库-axios库 认识Axios库为什么选择Axios库安装Axios axios发送请求常见的配置选项简单请求可以给Axios设置公共的基础配置发送多个请求 axios创建实例为什么要创建axios的实例 axios的拦截器请求拦截器响应拦截器 axios请求封装 认识Axios库 为什么选择Axios库 在游览…...

云计算 - 百度AIStudio使用小结

云计算 - 百度AIStudio使用小结 前言 本文以ffmpeg处理视频为例&#xff0c;小结一下AI Studio的使用体验及一些避坑技巧。 算力获得 免费的算力获得方式为&#xff1a;每日登录后运行一个项目&#xff08;只需要点击运行&#xff0c;不需要真正运行&#xff09;即可获得8小…...

刷新你对Redis持久化的认知

认识持久化 redis是一个内存数据库&#xff0c;数据存储到内存中。而内存的数据是不持久的&#xff0c;要想做到持久化&#xff0c;就需要让redis把数据存储到硬盘上。因此redis既要在内存上存储一份数据&#xff0c;还要在硬盘上存储一份数据。这样这两份数据在理论上是完全相…...

Greenplum-最佳实践小结

注&#xff1a;本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/best_practices-logfiles.html 数据模型 Greenplum数据库是一个分析型MPP无共享数据库。该模型与高度规范化/事务性的SMP数据库明显不同。Greenplum数据库使用适合MPP分析处理的非…...

从Gamma空间改为Linear空间会导致性能下降吗

1&#xff09;从Gamma空间改为Linear空间会导致性能下降吗 2&#xff09;如何处理没有使用Unity Ads却收到了GooglePlay平台的警告 3&#xff09;C#端如何处理xLua在执行DoString时候死循环 4&#xff09;Texture2DArray相关 这是第350篇UWA技术知识分享的推送&#xff0c;精选…...

双轨制的发展,弊端和前景

双轨制是一种经济体制&#xff0c;指两种不同的规则或机制并行运行&#xff0c;以适应不同的市场或客户需求。双轨制最早出现在中国的改革开放中&#xff0c;是从计划经济向市场经济过渡的一种渐进式改革方式。 双轨制的发展可以分为三个阶段&#xff1a; 第一阶段&#xff08;…...

生成对抗网络(GAN):在图像生成和修复中的应用

文章目录 什么是生成对抗网络&#xff08;GAN&#xff09;&#xff1f;GAN在图像生成中的应用图像生成风格迁移 GAN在图像修复中的应用图像修复 拓展应用领域总结 &#x1f389;欢迎来到AIGC人工智能专栏~生成对抗网络&#xff08;GAN&#xff09;&#xff1a;在图像生成和修复…...

扬杰科技携手企企通,召开SRM采购供应链协同系统项目启动会

近日&#xff0c;中国功率半导体领先企业扬州扬杰电子科技股份有限公司&#xff08;以下简称“扬杰科技”&#xff09;与企企通召开SRM采购供应链协同系统项目启动会&#xff0c;双方项目团队成员一同出席本次会议。 会上&#xff0c;双方就扬杰科技采购供应链管理平台项目的目…...

AtCoder Beginner Contest 318

目录 A - Full Moon B - Overlapping sheets C - Blue Spring D - General Weighted Max Matching E - Sandwiches F - Octopus A - Full Moon #include<bits/stdc.h> using namespace std; const int N1e65; typedef long long ll ; const int maxv4e65; typedef …...