Nmap

nmap是一个非常强大的网络扫描工具,学习nmap的话,我建议大家多读一读官方文档,这里我所写的也仅仅是对Nmap中文文档的一个总结,以及一些我的个人看法。
官方文档地址:http://www.nmap.com.cn/

  • 主机发现
  • 端口扫描

主机发现

nmap的主机发现主要是基于ICMP包的一个探测,所以用nmap的主机发现命令格式大多都是-P*;

 -sP : nmap 仅对主机进行ping扫描(并不进行端口探测,还有操作系统识别),这个命令仅仅是列出了这个主机是否存活,或者这一个网段内都有哪些主机是在存活状态。

    -P0 : nmap在默认情况下会只给存活的主机进行端口扫描,版本探测,而使用P0(注意字母P是大写,0是数字0)参数会使nmap对每一个指定的ip地址进行所要求的扫描。
    -PS : nmap向目标主机发送一个设置了SYN标志位的空的TCP报文,不管主机返回SYN/ACK包还是RST包,它都认为该主机存活。不过虽然官方文档上说该参数只关心主机是否存活,不过在当前最新版本的nmap来看,这个命令也对主机的各个端口进行了探测。

    -PA/-PU:分别向目标主机发送ACK/UDP报文进行主机探测。
    -n(不用域名解析):告诉nmap不对存活主机的IP进行域名解析
    -R(为所有目标解析域名)

端口扫描

在学习端口扫描之前,我们需要先了解nmap对于端口的五种不同的状态。

open(开放的)、filtered(过滤的)、closed(关闭的)、open|filtered(开放或者被过滤的)、closed|filtered(关闭或者被过滤的)

    -sS:进行TCP SYN扫描,这个选项返回的结果与-PS返回的结果很像,它们两个参数的区别就是,-sS会发送一个ICMP包给目标主机,这个我们可以利用抓包工具来看一下。

这个截图告诉我们-sS参数会发送ICMP包给目标主机。

为了和下面的-sT参数区分开,我们看一下,用-sS参数的连接图。

TCP SYN探测到端口关闭:

TCP SYN探测到端口开放:

    -sT:会完整的执行完TCP的三次握手,隐蔽性不强。

TCP connect探测到端口关闭:

TCP connect探测到端口开放:

由此我们可以看出-sT参数隐蔽性并不强,一般用于-sS参数无法探测时。

    -sU:使用UDP协议对端口进行扫描(通常,这个端口很容易被管理员忽视)
    -sN; -sF; -sX (TCP Null,FIN,and Xmas扫描):这个扫描的好处就是,它可以在端口关闭时,任何一个不包含ACK,SYN或者RST的数据包,都会返回一个RST,而在端口开放时,则不作响应。但是这个是要满足一个前提的,就是要严格遵循RFC 793,但是事实上,并非所有系统都严格遵循RFC 793, 许多系统不管端口开放还是关闭,都响应RST。 这导致所有端口都标记为closed(关闭的)。
    -sA:发送ACK数据包进行探测,主要用来识别这个端口是否处于过滤状态,如果这个端口是开放的或者这个端口是关闭的都会返回一个RST包,这个被标记为未过滤的;如果不响应或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)。

    --scanflags:定制nmap扫描。 如:--scanflags URGACKPSHRSTSYNFIN设置了所有标志位,但是这对扫描没有太大用处。 标志位的顺序不重要。

nmap命令小结(一)相关推荐

  1. MySQL数据库备份和还原的常用命令小结

    MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下. 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...

  2. linux 查询注册服务,window下注册服务的命令小结

    1. 描述:     SC 是用于与服务控制管理器通信的命令行程序 . 用法: sc [command] [service name] ... 选项 的格式为 可以键入 "sc [comma ...

  3. sed与awk命令小结

    1.sed命令小结 Sed是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本.Sed从文本的一个文本行或标准输入中读取 ...

  4. Nmap命令的常用实例

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

  5. 渗透测试之Nmap命令(一)

    1.介绍 相信很多朋友在这之前已经对nmap有所了解,或者已经使用过nmap了,这里做一下简单的介绍.nmap(Network Mapper)最初由Gordon Fyodor Lyon于1997年创建 ...

  6. 渗透测试之Nmap命令(三) idle 扫描

    1. 空闲扫描 前两篇文章已经介绍了Nmap命令的一些基本选项和若干类型的扫描,下面继续来介绍Nmap的一个扫描类型--空闲扫描.  为了降低被检测到的机率,我们通常需要转嫁责任,这时可以使用空闲扫描 ...

  7. mtr和nmap命令

    mtr mtr是一个网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性. [root@10.10.90.97 ~]# mtr -h usage: mtr [ ...

  8. Linux 命令(141)—— nmap 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 TARGET SPECIFICATION HOST DISCOVERY SCAN TECHNIQUES PORT SPECIFICATION AND ...

  9. 计算机基础(十):git仓库管理命令小结

    git仓库管理命令小结 git branch                           获取当前分支仓库 git status                            查看当前 ...

最新文章

  1. 30年前未曾发行的任天堂红白机游戏,被这个团队从21张软盘中重新恢复了,还是3D的...
  2. tp3.2.3实现后台的顶部栏目查询,不用拼接sql
  3. java中substring函数
  4. 小企业“银行存款”科目的核算内容包括哪些?
  5. 让mysql返回的结果按照传入的id的顺序排序
  6. sqoop2 java api实现_Sqoop2 Java客户端API指南
  7. Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功
  8. 前端学习(3312):redux的正确构建
  9. 解决:TypeError: Value passed to parameter 'a' has DataType int64 not in list of allowed values: float1
  10. 20150702 问题随记
  11. 比“花书”更合适入门者的“鱼书”
  12. Linux下文件、文件夹大小排序及文件内容排序
  13. 【2021年度总结】积跬步,「卷」千里,2022 继续「卷」
  14. Excel VBA——两种获取使用最大行数的方法
  15. 千年虫与2038年问题
  16. 电脑投屏到电视怎么操作_无线投屏器应用
  17. 统计单词出现频次(例:See You Again)
  18. Matlab 入门 - data函数
  19. 【调剂】中国矿业大学接收调剂研究生,资源与环境矿业工程
  20. 词典构造方法之LDA主题模型

热门文章

  1. python识别麻将牌_图像识别之麻将识别源码( 三 )
  2. windows中mysql服务无法启动
  3. 宿主机与开发板网络共享
  4. python文本匹配_python 匹配@
  5. C++实现二维离散傅里叶变换
  6. Android View 生成唯一 Id
  7. 你要的项目复盘都在这里,赶紧学习
  8. 高效工作的一个绝招:一心二用(听歌,听知识等)
  9. 使用Maven创建Servlet项目及优化流程
  10. 计算机视觉中的Transformer