目录

一、nmap是什么

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

作用:

- 检测活在网络上的主机(主机发现)

- 检测主机上开放的端口(端口发现或枚举)

- 检测到相应的端口(服务发现)的软件和版本

- 检测操作系统,硬件地址,以及软件版本

- 检测脆弱性的漏洞(nmap的脚本)

二、使用说明

namp [扫描类型] [扫描参数] [hosts 地址与范围]

选项与参数:

*** [扫描类型]*** :主要的扫描类型有下面几种:

-sT : 扫描TCP数据包已建立的连接connect()

-sS : 扫描TCP数据包带有SYN卷标的数据

-sP : 以ping的方式进行扫描

-sU : 以UDP的数据包格式进行扫描

-sO : 以IP的协议(protocol)进行主机的扫描

[扫描参数]: 主要的扫描参数有几种:

-PT : 使用TCP里头的ping的方式来进行扫描,可以获知目前有几台计算机存在(较常用)

-PI : 使用实际的ping(带有ICMP数据包的)来进行扫描

-p : 这个是port range,例如1024-、80-1023、30000-60000等的使用方式

[hosts地址与范围]:这个有趣多了,有几种类似的类型

192.168.1.100 : 直接写入HOST IP而已,仅检查一台

192.168.1.0/24 : 为C Class的形态

192.168.. : 为B Class的形态,扫描的范围变广了

192.168.1.0-50,60-100,103,200 : 这种是变形的主机范围

三、常用示例

1.使用默认参数扫描本机所启用的port(只会扫描TCP)

➜ ~ nmap localhost
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
631/tcp open ipp
873/tcp open rsync
8080/tcp open http-proxy
...
Nmap done: 1 IP address (1 host up) scanned in 2.77 seconds

2.同时扫描本机的TCP/UDP端口

➜ ~ nmap -sTU localhost
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
...
68/udp open|filtered dhcpc
631/udp open|filtered ipp
...

3.通过ICMP数据包检测,分析局域网内有几台主机是启动的

➜ ~ nmap -sP 192.168.199.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-05 00:13 CST
Nmap scan report for Hiwifi.lan (192.168.199.1)
Host is up (0.0036s latency).
Nmap scan report for yeelink-light-lamp1_miio92822016.lan (192.168.199.103)
Host is up (0.0043s latency).
Nmap scan report for chenqionghe.lan (192.168.199.141)
Host is up (0.0010s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 1.54 seconds

(3 hosts up) 代表有3台主机正在运行

4.对多个host进行端口扫描

nmap 192.168.199.0/24
nmap 192.168.1.2 192.168.1.5
nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)

5.扫描特定的端口

使用Nmap扫描远程机器的端口有各种选项,你可以使用“-P”选项指定你想要扫描的端口,默认情况下nmap只扫描TCP端口。

nmap -p 80 localhost
nmap -p 80,443 localhost
nmap -p 8080-8888 localhost

四、nmap29个实用范例

英文原版

1.用主机名和IP地址扫描系统

主机名

nmap server2.tecmint.com

IP

nmap 192.168.0.101

2.扫描使用“-v”选项

你可以看到下面的命令使用“ -v “选项后给出了远程机器更详细的信息。

nmap -v server2.tecmint.com

3.扫描多台主机

在Nmap命令后加上多个IP地址或主机名来扫描多台主机。

nmap 192.168.0.101 192.168.0.102 192.168.0.103

4.扫描整个子网

可以使用*通配符来扫描整个子网或某个范围的IP地址

nmap 192.168.0.*

5.使用IP地址的最后一个字节扫描多台服务器

指定IP地址的最后一个字节来对多个IP地址进行扫描。例如,我在下面执行中扫描了IP地址192.168.0.101,192.168.0.102和192.168.0.103。

nmap 192.168.0.101,102,103

6.从一个文件中扫描主机列表

如果你有多台主机需要扫描且所有主机信息都写在一个文件中,那么你可以直接让nmap读取该文件来执行扫描,让我们来看看如何做到这一点。

创建一个名为“nmaptest.txt ”的文本文件,并定义所有你想要扫描的服务器IP地址或主机名。

 cat > nmaptest.txt
localhost
server2.tecmint.com
192.168.0.101

接下来运行带“iL” 选项的nmap命令来扫描文件中列出的所有IP地址

nmap -iL nmaptest.txt

7..扫描一个IP地址范围

nmap 192.168.0.101-110

8.排除一些远程主机后再扫描

在执行全网扫描或用通配符扫描时你可以使用“-exclude”选项来排除某些你不想要扫描的主机。

 nmap 192.168.0.* --exclude 192.168.0.100

9.扫描操作系统信息和路由跟踪

使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。

nmap -A 192.168.0.101

10.启用Nmap的操作系统探测功能

使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息。

nmap -O server2.tecmint.com

11.扫描主机侦测防火墙

下面的命令将扫描远程主机以探测该主机是否使用了包过滤器或防火墙。

nmap -sA 192.168.0.101

12.扫描主机检测是否有防火墙保护

扫描主机检测其是否受到数据包过滤软件或防火墙的保护。

nmap -PN 192.168.0.101

13.找出网络中的在线主机

使用“-sP”选项,我们可以简单的检测网络中有哪些在线主机,该选项会跳过端口扫描和其他一些检测。

nmap -sP 192.168.0.*

14.执行快速扫描

你可以使用“-F”选项执行一次快速扫描,仅扫描列在nmap-services文件中的端口而避开所有其它的端口。

nmap -F 192.168.0.101

15.查看Nmap的版本

nmap -V

顺序扫描端口

使用“-r”选项表示不会随机的选择端口扫描。

nmap -r 192.168.0.101

17.打印主机接口和路由

你可以使用nmap的“–iflist”选项检测主机接口和路由信息。

nmap --iflist

18.扫描特定的端口

使用Nmap扫描远程机器的端口有各种选项,你可以使用“-P”选项指定你想要扫描的端口,默认情况下nmap只扫描TCP端口。

nmap -p 80 server2.tecmint.com

19.扫描TCP端口

你可以指定具体的端口类型和端口号来让nmap扫描。

 nmap -p T:8888,80 server2.tecmint.com

20.扫描UDP端口

nmap -sU 53 server2.tecmint.com

21.扫描多个端口

你还可以使用选项“-P”来扫描多个端口。

nmap -p 80,443 192.168.0.101

22.扫描指定范围内的端口

您可以使用表达式来扫描某个范围内的端口。

nmap -p 80-160 192.168.0.101

23.查找主机服务版本号

nmap -sV 192.168.0.101

24.使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机

有时候包过滤防火墙会阻断标准的ICMP ping请求,在这种情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机。

nmap -PS 192.168.0.101

25.使用TCP ACK扫描远程主机上特定的端口

 nmap -PA -p 22,80 192.168.0.101

26. 使用TCP Syn扫描远程主机上特定的端口

nmap -PS -p 22,80 192.168.0.101

27.执行一次隐蔽的扫描

nmap -sS 192.168.0.101

28.使用TCP Syn扫描最常用的端口

nmap -sT 192.168.0.101

29.执行TCP空扫描以骗过防火墙

nmap -sN 192.168.0.101

nmap命令总结的更多相关文章

  1. Nmap命令的29个实用范例

    Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器 ...

  2. 十条常用nmap命令行格式

    十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...

  3. [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器

    原文链接:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探 ...

  4. 给Linux系统/网络管理员准备的Nmap命令的29个实用范例

    我将用两个不同的部分来涵盖大部分NMAP的使用方法,这是nmap关键的第一部分.在下面的设置中,我使用两台已关闭防火墙的服务器来测试Nmap命令的工作情况. 192.168.0.100 – serve ...

  5. Nmap 命令操作详解

    首先在安装nmap 稳定版 https://nmap.org/download.html 选择安装目录 通过cmd  去使用也可以在 安装目录中找到 进行可视化操作 以下是nmap 命令 -sT TC ...

  6. 给Linux系统管理员准备的Nmap命令的29个实用范例

    map即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器和 ...

  7. Nmap命令的常用实例

    一.Nmap简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting).它是网络管 ...

  8. kail linux nmap命令

    可用于: 检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本) ---- ...

  9. nmap命令详解

    基础命令学习目录 原文链接:http://www.cnblogs.com/hongfei/p/3801357.html Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具. ...

随机推荐

  1. 快照(Snapshot)技术发展综述

    快照(Snapshot)技术发展综述 刘爱贵 摘要:传统数据备份技术存在备份窗口.恢复时间目标RTO和恢复时间点RPO过长的问题,无法满足企业关键性业务的数据保护需求,因此产生了数据快照技术.本文对快 ...

  2. 记一次logback传输日志到logstash根据自定义设置动态创建ElasticSearch索引

    先说背景,由于本人工作需要创建很多小应用程序,而且在微服务的大环境下,服务越来越多,然后就导致日志四分五裂,到处都有,然后就有的elk,那么问题来了 不能每个小应用都配置一个 logstash 服务来 ...

  3. python基于selenium实现自动删除qq空间留言板

    py大法好,让你解放双手. 脚本环境 python环境,selenium库,Chrome webdriver驱动等. 源码 # coding=utf-8 import datetime import ...

  4. 使用jdbc拼接条件查询语句时如何防止sql注入

    本人微信公众号,欢迎扫码关注! 使用jdbc拼接条件查询语句时如何防止sql注入 最近公司的项目在上线时需要进行安全扫描,但是有几个项目中含有部分老代码,操作数据库时使用的是jdbc,并且竟然好多都是 ...

  5. Redis学习——详解Redis配置文件(三)

    一.Redis脚本简介 在我们介绍Redis的配置文件之前,我们先来说一下Redis安装完成后生成的几个可执行文件: redis-server .redis-cli .redis-benchmark ...

  6. javascript-发布订阅模式与观察者模式

    设计模式"(Design Pattern)是针对编程中经常出现的.具有共性的问题,所提出的解决方法.著名的<设计模式>一书一共提出了23种模式. 发布订阅模式 它定义了一种对象间 ...

  7. Vue2.0源码阅读笔记(三):计算属性

      计算属性是基于响应式依赖进行缓存的,只有在相关响应式依赖发生改变时才会重新求值,这种缓存机制在求值消耗比较大的情况下能够显著提高性能. 一.计算属性初始化   Vue 在做数据初始化时,通过 in ...

  8. 论JVM爆炸的几种姿势及自救方法

    前言 如今不管是在面试还是在我们的工作中,OOM总是不断的出现在我们的视野中,所以我们有必要去了解一下导致OOM的原因以及一些基本的调整方法,大家可以通过下面的事例来了解一下什么样的代码会导致OOM, ...

  9. Android版数据结构与算法(六):树与二叉树

    版权声明:本文出自汪磊的博客,未经作者允许禁止转载. 之前的篇章主要讲解了数据结构中的线性结构,所谓线性结构就是数据与数据之间是一对一的关系,接下来我们就要进入非线性结构的世界了,主要是树与图,好了接 ...

  10. C#读写Excel的几种方法

    1 使用Office自带的库 前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Microsoft.Office.Interop.Excel 读写代 ...