从诞生之初,Nmap就一直是网络发现和攻击界面测绘的首选工具。从主机发现和端口扫描,到操作系统检测和IDS规避/欺骗,Nmap是大大小小黑客行动的基本工具。下面就开始介绍一下Namp的用法。

一:简介

Nmap是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口并且推断计算机运行哪个操作系统用以评估网络系统安全

二:功能

     Nmap用于浏览网络,执行安全扫描,网络审计以及在远程机器找到开放端口。它可以扫描在线主机,操作系统,滤包器和远程主机打开的端口。

三:命令用法

1、扫描单一的一个主机:

#nmap cnblogs.com

#nmap 10.1.1.26

2、扫描整个子网,命令如下:

#nmap 10.1.1.26/24

3、扫描多个目标,命令如下:

#nmap 10.1.1.26 10.1.1.27

4、扫描一个范围内的目标,如下:

#nmap 10.1.1.1-100 (扫描IP地址为10.1.1.1-10.1.1.100内的所有主机)

5、如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:

#nmap -iL target.txt

6、如果你想看到你扫描的所有主机的列表,用以下命令:

#nmap -sL 10.1.1.1/24

7、扫描除过某一个ip外的所有子网主机,命令:

#nmap 10.1.1.1/24 -exclude 10.1.1.1

8、扫描除过某一个文件中的ip外的子网主机命令

#nmap 10.1.1.1/24 -exclude file xxx.txt  (xxx.txt中的文件将会从扫描的主机中排除)

9、扫描特定主机上的80,21,23端口,命令如下

#nmap -p80,21,23 10.1.1.1

四:扫描技术

1、Tcp SYN Scan (sS)

这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.

如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN.但是它需要root/administrator权限.

#nmap -sS 192.168.1.1

2、Tcp connect() scan(sT)

如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.

#nmap -sT 192.168.1.1

3、Udp scan(sU)

顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.

#nmap -sU 192.168.1.1

4、FIN scan (sF)

有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.

root@bt:~# nmap -sF 192.168.1.8

Starting Nmap 5.51  at 2012-07-08 19:21 PKT

Nmap scan report for 192.168.1.8

Host is up (0.000026s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

111/tcp open|filtered rpcbind

FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.

5、PING Scan (sP)

PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.

#nmap -sP 192.168.1.1

6、版本检测(sV)

版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口.

#nmap -sV 192.168.1.1

7、Idle scan (sL)

Idle scan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包.

#nmap -sL 192.168.1.6 192.168.1.1

Idle scan是一种理想的匿名扫描技术,通过目标网络中的192.168.1.6向主机192.168.1.1发送数据,来获取192.168.1.1开放的端口

有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描), IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式.

8、Nmap的OS检测(O)

Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。 Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

Initiating SYN Stealth Scan at 10:21
Scanning localhost (www.nxadmin.com) [1000 ports]
Discovered open port 111/tcp on www.nxadmin.com
Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)
Initiating OS detection (try #1) against localhost (www.nxadmin.com)
Retrying OS detection (try #2) against localhost (www.nxadmin.com)

上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程操作系统。操作系统检测参数是O(大写O)

如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。

# nmap -O -PN 192.168.1.1/24

9、以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.

Nmap的操作系统检测的基础是有开放和关闭的端口,如果OS scan无法检测到至少一个开放或者关闭的端口,会返回以下错误:

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

OS Scan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口.

10、想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项, –osscan-guess 猜测认为最接近目标的匹配操作系统类型。

# nmap -O –osscan-guess 192.168.1.1

参考博客:https://www.cnblogs.com/hanxiaobei/p/5603491.html

渗透工具——Namp基础用法相关推荐

  1. [系统安全] 四.OllyDbg动态分析工具基础用法及Crakeme逆向破解

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  2. [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.上一篇文章分享了IDA Pro反汇编工具的基础用法,并简单讲解一个EXE逆向工程解 ...

  3. [渗透攻防] 二.SQL MAP工具从零解读数据库及基础用法

    这是最近学习渗透和网站攻防的文章,希望能深入地学习这部分知识,自己作为一个初学者,前一篇文章从数据库原理解读了防止SQL注入,这篇文章通过SQLMAP工具简单介绍SQL注入及用法.自己仍在慢慢探索网络 ...

  4. 渗透攻防必备工具(基础篇,收藏起来)

    0x00 简介 在黑盒测试的渗透测试项目,HW等进行渗透测试会使用到那些工具?下面做一个简短的常见基础篇工具使用介绍, 0x01 信息收集篇 综合信息收集工具:railgun github项目地址:h ...

  5. 【Nmap使用详解】黑客渗透工具Nmap下载安装/实战使用,保姆级Namp教程

    kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用. Nmap有四种基本功能:「端口扫描」.「主机探测」.「服务 ...

  6. 内网渗透工具Cobalt Strike 基础使用

    Cobalt Strike:C/S架构的商业渗透软件,适合多人进行团队协作,可模拟APT做模拟对抗,进行内网渗透. Cobalt Strike一款GUI的框架式渗透工具,集成了端口转发.服务扫描,自动 ...

  7. [系统安全] 四十四.APT系列(9)Metasploit技术之基础用法万字详解及防御机理

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  8. [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例

    最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客.做着开源的大神.接下来系统分享一些网络安全的自学笔记,希望读者们喜欢. 上一篇文 ...

  9. 利用手机作为渗透工具的一些思路

    前言: 一直有捣鼓手机渗透的想法 手机渗透的好处在我看来就是:便于携带,便于隐藏攻击 毕竟近缘渗透的话 使用电脑的话 太容易暴露了 研究了下最近几年常见的一些app和思路 像以前的zanti和dspl ...

  10. [网络安全提高篇] 一一九.恶意软件动态分析经典沙箱Cape的安装和基础用法详解

    终于忙完初稿,开心地写一篇博客. "网络安全提高班"新的100篇文章即将开启,包括Web渗透.内网渗透.靶场搭建.CVE复现.攻击溯源.实战及CTF总结,它将更加聚焦,更加深入,也 ...

最新文章

  1. http协议进阶(三)http报文
  2. cannot import name ‘izip‘ from ‘itertools‘
  3. (实际开发大数据分析系统)网络爬虫获取数据与销售数据分析系统
  4. 听说你,对薪酬待遇不太满意。。。
  5. 为什么美国互联网没有“运营”岗?
  6. mysql vpformysql引擎_MySQL InnoDB引擎B+树索引简单整理说明
  7. libgdx和Kotlin –类[2D平台原型]
  8. HH SaaS电商系统管理后台的商品规格编辑
  9. Forward团队-爬虫豆瓣top250项目-模块开发过程
  10. CAS去掉HTTPS认证
  11. YFI 核心开发者 banteg 推出 1:100 万拆分 YFI 代币的新项目 Woofy
  12. C#读取网络流,读取网络上的js文件
  13. 用生成器做斐波那契数列
  14. Windows快速更改IP脚本
  15. sql注入搞事情(连载一)
  16. 高密集型工业体系步履蹒跚
  17. 计算机应用与维护专业教学大纲,计算机应用专业教学大纲
  18. 软件测试——界面测试
  19. 一篇文章,助你实现认知突破,重获新生
  20. 如何通过电脑cmd查看android设备日志

热门文章

  1. 出入机房计算机无登记表,三峡大学机房维护管理制度
  2. golang微信小程序爬虫教程offer秀
  3. 微信爬虫服务器,为什么现在那么多爬虫,却没有爬取微信公众号文章的案例?...
  4. 软件测试中的白盒测试的工具,软件测试人员该如何选择白盒测试工具?常用的白盒测试工具汇总...
  5. 【CAD二次开发】CAD常用版本 DwgVersion
  6. 应用搬家:如何将软件从C盘迁移到D盘?
  7. java word模板 变量,Java-POI替换Word模板文档中的变量,生成Word文档
  8. php网站源码 是什么,php源码是什么
  9. Spark2.1.1中用各种模式运行计算圆周率的官方Demo
  10. CAD/DWG图纸在线浏览/查看/预览/解析插件/SDK