nmap在网络和渗透中使用相当频繁,相关教程也层出不穷。在此,我只整理出最实用的,言简意赅,方便自己,方便他人。


一、nmap介绍

NMAP,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

二、nmap功能

1.主机发现;   //探测存活主机

2.端口扫描;   //探测开放端口及端口的服务

3.版本侦测;   //探测服务的版本,eg:httpd 1.0

4.OS检测。    //检测目标的操作系统。

5.漏洞扫描。   //配合一些特定漏洞扫描脚本进行漏扫(用的极少,漏洞一般用专业的漏扫工具)

端口扫描原理:

以ping(ICMP协议)、发TCP/UDP包、ARP包、SYN/ACK三次握手等等十多种探测方式。

端口状态:

(1) open:端口是开放的。

(2) closed:端口是关闭的。

(3) filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

(4) unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。

三、nmap参数

1.主机发现:

-sL:仅仅是显示,扫描的IP数目,不会进行任何扫描(较少用,意义不大)。

-sn:ping扫描,即主机发现。

-Pn:不检测主机存活,默认视目标为存活主机,直接对其进行端口探测。

-PS/PA/PU/PY:TCP SYN Ping/TCP ACK Ping/UDP Ping发现。

-PE/PP/PM:使用ICMP echo, timestamp and netmask 请求包发现主机。

-P0:在扫描之前,不ping主机;有些网络防火墙可能禁止ICMP请求包,使用这种扫描类型可以跳过ping测试。

-n/-R:-n表示不进行DNS解析,以加快扫描速度;-R表示总是进行DNS解析。

-exclude:排除指定主机。(比如不扫某个网段中的某个IP)

-excludefile:排除指定文件中的主机。(不扫某个网段中的某些IP)

2.端口扫描:

-p:指定端口扫描,eg:-p 80,8080,3306(指定端口)-p 1-65535(全端口),如未指定默认扫描1000个最有可能开放的TCP端口。

-F:快速扫描,扫描常见的100个TCP端口。

3.版本侦测:

-sV:开放版本探测,可以直接使用-A同时打开操作系统探测和版本探测。

4.OS检测:

-O:启用操作系统检测,可以直接使用-A同时打开操作系统探测和版本探测。

5.漏洞扫描:

-sC:根据对应的端口选择相应的漏洞脚本。

6.扫描技巧:

-v:强烈推荐使用这个选项,它会给出扫描过程中的详细信息。

-A:打开操作系统探测和版本探测(可同时代替-sV和-O),进攻性(Aggressive)方式扫描。

-T4:指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4,不做设置nmap默认是T3;

-sS/sT/sA/sW/sM:SYN/TCP connect()/ACK/TCP窗口扫描/ Maimon扫描。

-sU:以UDP扫描。

-sP:ping扫描,用ping方式检查网络上哪些主机正在运行。当主机阻塞ICMP  echo请求包是ping扫描是无效的。nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。

-sN/sF/sX:以TCP Null,FIN,and Xmas扫描。

-sY/sZ:SCTP INIT/COOKIE-ECHO 扫描(较少使用)。

-sO:使用IP protocol 扫描确定目标机支持的协议类型(较少使用)。

-b “FTP relay host”:使用FTP bounce scan(较少使用)。。

7.输入输出:

-iL:从文件中读取待检测的目标,文件中的表示方法支持机名,ip,网段。

-oX:输出结果为xml文件。

-oG:输出便于通过bash或者perl处理的格式,非xml。

四、常用组合

1.GUI下nmap默认参数:

nmap -T4 -A –v + target   //以默认的方式扫描存活主机、开放端口、服务、版本、OS信息,不是全端口扫描,适合新手。

2.探测某一IP全端口:

nmap –p 1-65535 192.168.1.110   //根据时间和效率可以选加-Pn、-v、-T4、-A等等组合

3.仅探测某一网段的存活主机:

nmap -sP 10.0.0.0/24   //也可加一些其他参数,就不列举了

4.探测某一网段的存活主机的开放端口:

nmap –T4 –A –v -p 1-65535 –sP 10.0.0.0/24 –oX 10.0.0.0.xml

The End!

NMAP实用手册的更多相关文章

  1. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  2. 【转载】Exchange 2010配置与安装实用手册

    Exchange 2010配置与安装实用手册 在Exchange 2010配置的时候主要分三大部分,这分别是网络配置.准备存储以及相关的安装策略和过程.同时还需要注意和其他的Windows软件相协调. ...

  3. Oracle 数据库基本操作——实用手册、表操作、事务操作、序列

    目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...

  4. nmap中文手册

    译注该Nmap参考指南中文版由Fei Yang <fyang1024@gmail.com>和Lei Li<lilei_721@6611.org> 从英文版本翻译而来. 我们希望 ...

  5. linux sort 命令实用手册

    Linux 中的sort 命令是一个很实用的工具,用于对文本内容以行为单位进行ASCII 码排序,默认按照升序进行排序(当然也可以按照降序). sort 命令的格式如下: sort `参数` `文件名 ...

  6. linux awk 命令实用手册

    0,简介 Linux awk 是一个实用的文本处理工具,它不仅是一款工具软件,也是一门编程语言.awk 的名称来源于其三位作者的姓氏缩写,其作者分别是Alfred Aho,Peter Weinberg ...

  7. Nmap 操作手册 - 完整版

    目录 Nmap - 基础篇 Nmap 安装 RedHat Windows Debina & Ubuntu Others Linux Nmap 参数(简单版) 目标说明 主机发现 扫描技术 端口 ...

  8. Nmap扫描手册

    By:WHILE扫描类-sTTCP connect()扫描,完整的通话连接,容易被检测,会被记录日志.-sSTCP同步扫描,不完整的通话连接,很少有系统会记入日志.-sUUDP扫描-sAACK扫描用来 ...

  9. 端口扫描程序nmap使用手册

        其实还是建议看英文的man,对以后学习其他东西很有帮助的:) 摘要 nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等 ...

随机推荐

  1. [转载]基于TFS实践敏捷-工作项跟踪

    工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...

  2. 【AngularJS】—— 12 独立作用域

    前面通过视频学习了解了指令的概念,这里学习一下指令中的作用域的相关内容. 通过独立作用域的不同绑定,可以实现更具适应性的自定义标签.借由不同的绑定规则绑定属性,从而定义出符合更多应用场景的标签. 本篇 ...

  3. go环境import cycle not allowed问题处理

    1.前言 今天在搭建Go语言环境,从https://golang.org/dl/上下载一个Go语言环境.环境变量配置刚开始如下配置: GOROOT=/home/go/bin     go执行文件目录 ...

  4. java基础--相等

    学习:http://www.cnblogs.com/dolphin0520/p/3780005.html#3163302 后发现居然有这么个东西,当然也不会注意什么自动拆箱和装箱,只知道用就行了.不过 ...

  5. 【JDK源码分析】浅谈HashMap的原理

    这篇文章给出了这样的一道面试题: 在 HashMap 中存放的一系列键值对,其中键为某个我们自定义的类型.放入 HashMap 后,我们在外部把某一个 key 的属性进行更改,然后我们再用这个 key ...

  6. Kibana中doc与search策略的区别

    在kibana中包含两种策略:doc和search.使用了两个循环队列来获取请求,并进行响应. doc的代码如下: clientMethod: 'mget' search的代码如下: clientMe ...

  7. SQL Server代理(12/12):多服务器管理

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这一系列的上一篇,我们查看了维护计划,一 ...

  8. 基于HT for Web矢量实现3D叶轮旋转

    在上一篇<基于HT for Web矢量实现2D叶轮旋转>中讲述了叶轮旋转在2D上的应用,今天我们就来讲讲叶轮旋转在3D上的应用. 在3D拓扑上可以创建各种各样的图元,在HT for Web ...

  9. WCF会话(Session)与实例(Instance)管理

    一.理解Session 1.Session的作用:保留Client和Service之间交互的状态,确保Client与Service之间交互唯一性(SessionId),即:多个Client同时访问Se ...

  10. 数据结构(C语言第2版)----时间复杂度和单链表

    马上要到校招了,复习下相关的基础知识. 时间复杂度是什么? 官方解释: 算法的执行时间需要依据算法所编制的程序在计算机上于运行时所消耗的时间来度量.在算法中可以使用基本的语句的执行次数作为算法的时间复 ...