通过本篇博客可以学到:Nmap的安装和使用,列举远程机器服务端口,识别目标机器上的服务,指纹,发现局域网中存活主机,端口探测技巧,NSE脚本使用,使用特定网卡进行检测,对比扫描结果ndiff,可视化Nmap的使用等。


Nmap简介

Nmap:开源、免费的网络探测、安全审计工具

nmap 安装在电脑后,电脑可以通过nmap 将数据包传递到相关的网络设备,服务器接收到数据包后会返回一些信息,Nmap可以对这些信息进行分析。(通过nmap探测服务器存活以及开放的服务,对目标进行安全审计)。

Nmap原理:首先判断nmap输入的命令行中是否包含域名,如果包含域名需要用DNS服务器进行域名解析。然后发送ICMP Echo Request 来探测主机的存活性。Nmap根据返回的数据包来探测机器信息。

Nmap scanme.namp.org

Nmap参数和意义

-sT:TCP connect扫描,类似于的Metasploit中的tcp扫描模块
-sS:TCP SYN扫描,类似于Metasploit中的syn扫描模块,这种扫描方式不等待打开一天完全的TCP链接,所以速度的会更快,而且这种方式不会被IDS(入侵检测系统)等设备记录。
-sF/-sX/-sN:这些扫描通过发送一些特殊的标志位以避开设备或软件的检测
-sP:通过发送ICMP echo请求探测主机是否存活,原理同ping
-sU:探测目标主机开发了哪些UDP端口
-sA:TCP ACK扫描,类似于metasploit中的acK扫描模块
-Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃。如果是在Internet环境,应该使用-Pn选项,不要使用ICMP ping,因为ICMP数据包通常无法穿透Internet上的网络边界
-O:启用对于TCP/IP的协议栈指纹特征扫描以获取远程主机的操作系统类型等信息
-F :快速扫描的模式
-p<端口范围>:可以用这个参数指定希望扫描的端口

例如:nmap scanme.nmap.org

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

nmap --dns-servers 8.8.8.8 baidu.com

注意点:对于主机存活或者防火墙开启的机器,可以使用-Pn参数来停止探测之前的ICMP请求,以达到不触发防火墙的安全机制。

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

nmap -p <端口>  <IP地址/域名>
namp -p 1-1000 nuistshare.cn

可以看到不需要的端口可以不扫描,并且知道了扫描了的1-1000端口内开放的端口、状态与服务。

Nmap有多种端口状态

img

img

img

img

img

img


服务指纹

为了确保有一个成功的渗透测试或网络设备监控,必须知道目标系统中服务的指纹信息。服务指纹包括服务端口,服务名和版本等。

通过分析往Nmap发送的数据包的某些协议标记、选项和数据,我们推断发送这些数据的包的操作系统。

nmap通过向目标主机发送多个UDP与TCP数据包并分析其相应来进行操作系统识别

nmap -sV IP //地址来识别目标主机的服务信息

可以说明tcp三次握手已经完成,但是并没有和目标主机建立连接。

这表明这些服务是可以提供的,但是我们并不在访问主机的名单之中,而有大量的端口为tcpwrpped,说明服务器采用了负载均衡或者防火墙。


nmap侵略性探测

nmap -A -v -T4 IP地址
//-A :使用侵略性的策略探测
//-v :持续输出,返回解析不用按回车
//-T(1-5):扫描速度
nmap -A -v -T5 182.92.58.95 //注意此处只能是IP地址而能是域名

使用此方法,我们可以得到之前没有得到的信息

nmap -sC -SV -o
-sC表示使用Nmap脚本进行探测,sV表示探测目标机器上的服务信息,表示探测目标机器上的操作系统信息
-O表示启用对于TCP/IP的协议栈指纹特征扫描以获取远程主机的操作系统类型等信息

一个局域网中肯定连接着多个IP,可以使用ping命令去测试一下

CIDR(无类别域间路由)

nmap -sP CIDR :对该网络中所有主机经了ping扫描,以探测主机的存活行,扫描过程中使用了,TCP/SYN扫描扫描,ICMP echo Request
来探测主机存活
nmap -sn CIDR :对该网络中所有主机进行了扫描,不进行端口扫描,直接扫描存活性
nmap -Pn CIDR :对所有端口进行扫描

Nmap结果输出

nmap -p 80,445 -v baidu.com -oX test.xml

扫描结果将输入到test.xml中去

Nmap端口扫描技巧

实际场景:

在实际环境中,当系统管理员对设备进行管理时,或者渗透测试人员对设备进行检测的时候,并不是一定对所有的服务进行操作,极有可能是对某个活某个范围内的服务进行检测。

如果对所有服务进行探测,那么就会出现耗时长,费力不讨好的情况。针对这样的情况,我们很有必要了解使用Nmap来更加灵活的进行服务探测,避免全端口探测对服务器造成压力。

//针对某一个端口进行检测
namp -p 80 baidu.com
//针对某几个端口进行检测
nmap -p 80,445 baidu.com
//针对某个范围端口进行检测
nmap -p1--100 baidu.com
//针对所有端口进行检测
nmap -p baidu.com
//通过协议名来扫描端口
nmap -p smtp baidu.com

Nmap NSE脚本的使用

NSE:nmap script engine,nmap脚本引擎,内置很多可以用来扫描的,用来针对特定任务的脚本,通过nse可以不断扩展nmap的扫描策略,加强namp的功能。

Nmap中使用 --script 参数来指定调用的脚本,并且脚本存储再nmap 安装路径下的script文件夹下,对于kali linux存储在/usr/share/namp/script下

//使用Nmap 探测web服务的title信息
nmap --script http-title Ip
nmap --script http-headers IP

Nmap分类使用:

对于目标使用多个分类脚本进行检测,可以更快的找到目标的信息和弱点。

使用nmap中的漏洞分类脚本来对目标进行检测,使用命令如下:

nmap -sV --script vuln 目标

通过这个可以得到目标的漏洞

如果想要发现分版本信息分类进行探测,可以使用命令如下

nmap -sV --script="version,discovery"

使用nmap除了exploit(溢出)分类之外的其他分类进行探测,使用命令如下

namp -sV --script="not exploit" <目标>

使用http*(探测Http服务的脚本)

nmap -sV --script "(http*) and not (http-slowors and http-brute)"

NSE调试功能的使用

nmap -sV --script exploit -d 3 --script-trace 目标

-d(debug 范围0-9)

NSE 参数的使用

nmap -sV --script http-title --script-args http.useragent="Mozilla 999" <target>

NSE 更新

nmap --script-updatedb

使用特定网卡进行扫描

首先查看网卡:

nmap -e etho0 192.168.206.131

Nmap 对某个网络进去探测的时候,有可能之前有探测过的结果,现在探测过后,需要对比之前和现在的结果进行对比,来找到两次不同点。

监视网络变化,达到网络监控的目的。

在Nmap整个工程中,除了主要的nmap工具之外,还包括很多其他工具,比如ndiff

ndiff -h    //查看nidff 帮助信息
ndiff File1 File2 //对比两次结果

Nmap 查看网卡列表

nmap -iflist
nmap -e 192.168.206.131

 

------------恢复内容结束------------

渗透测试--Nmap主机识别的更多相关文章

  1. 小白日记14:kali渗透测试--NMAP

    NAMP 被认为是最强大的扫描器 所有参数 root@kali:~# nmap Nmap 7.01 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [O ...

  2. 渗透测试工具Nmap从初级到高级使用教程

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...

  3. 渗透测试工具Nmap从初级到高级

    Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...

  4. Kali Linux渗透测试实战 2.2 操作系统指纹识别

    目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...

  5. 读书笔记 ~ Nmap渗透测试指南

    记录Nmap选项及脚本使用,仅供参考... 除了端口扫描,好像其它脚本都比较鸡肋,用途感觉应该没有专用的小工具好用,不过还是可以看看,选项和脚本还是相当的丰富的. Nmap 使用帮助 starnigh ...

  6. Nmap渗透测试使用方法

    Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...

  7. 渗透测试工具Nmap篇

    Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...

  8. 读书笔记——商广明《Nmap渗透测试指南》

    一 Nmap基础学习 1.简介及安装 Nmap是一款由C语言编写的.开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Ne ...

  9. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

随机推荐

  1. 用werkzeug实现一个简单的python web框架

    使用工具 Pycharm , Navicat , WebStorm等 使用库 Werkzeug用于实现框架的底层支撑,pymysql用于实现ORM,jinja2用于模板支持,json用于返回json数 ...

  2. 1153 Decode Registration Card of PAT

    A registration card number of PAT consists of 4 parts: the 1st letter represents the test level, nam ...

  3. GCD HDU - 1695 容斥原理(复杂度低的版本)

    题意: 让你从区间[a,b]里面找一个数x,在区间[c,d]里面找一个数y.题目上已经设定a=b=1了.问你能找到多少对GCD(x,y)=k.x=5,y=7和y=5,x=7是同一对 题解: 弄了半天才 ...

  4. NYOJ746——整数划分(四)

    描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近遇到了一个难题,让他百思不得其解,他非常郁闷..亲爱的你能帮帮他吗? 问题是我们经常见到的整 ...

  5. C# 程序运行时间计算

    https://www.cnblogs.com/dearzhoubi/p/9842452.html

  6. EFCore学习记录--数据访问技术人门

    1.安装Microsoft.EntityFrameworkCore.Sqlite.Microsoft.EntityFrameworkCore.Tools包2.创建模型 数据库上下文模型:Bloggin ...

  7. MongoDB 部署 & 基础命令

    MongoDB 官方文档 MongoDB 介绍 Mongodb 由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统. 是专为可扩展性,高性能和高可用性而设计的数据库, 是非关系型数据库中 ...

  8. docker-理论题01

    1.什么是docker?答:docker是开源的应用容器引擎:开发人员把他们的应用及依赖包打包发布到容器当中. 2.docker和VMware的区别? 答:docker是半解耦,VMware是解耦:d ...

  9. 在竞赛中使用new的问题

      问了一下KingSann大佬,大佬说 找空闲内存均摊O(1)但是如果new多了就是O(n) 真tm可怕..还是开个内存池好了.. 要么直接now++,要么直接Node *s=&node[t ...

  10. Inkscape svg彩色图转灰度图

    操作: Ctrl+A 全选所有对象, 然后使用滤镜渲染成灰度图, 至于这个RGB比值, 看个人需求, 标准情况下rgb2gray是0.299 * R + 0.587 * G + 0.114 * B 原 ...