nmap命令小结(一)

nmap命令小结(一)Nmapnmap是一个非常强大的网络扫描工具,学习nmap的话,我建议大家多读一读官方文档,这里我所写的也仅仅是对Nmap中文文档的一个总结,以及一些我的个人看法。官方文档地址:http://www.nmap.com.cn/主机发现端口扫描主机发现nmap的主机发现主要是基于ICMP包的一个探测,所以用nmap的主机发现命令格式大多都是-P*;-sP:nmap仅对主机进行ping扫

大家好,又见面了,我是你们的朋友全栈君。

Nmap

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

  • 主机发现
  • 端口扫描

主机发现

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

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

-sP

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

-PS

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

端口扫描

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

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

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

-sS

这里写图片描述

这个截图告诉我们-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,代号123910, 或者13)的端口,标记为 filtered(被过滤的)。

这里写图片描述

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

这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140450.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常见端口渗透总结[通俗易懂]

    常见端口渗透总结[通俗易懂]文章目录0x00背景服务默认端口爆破0x01实战测试文件共享服务端口渗透ftp服务NFS服务Samba服务LDAP协议远程连接服务端口渗透SSH服务Telnet服务Windows远程连接VNC服务Pcanywhere服务Web应用服务端口渗透IIS服务Apache/Tomcat/Nginx/Axis2WebLogicJbossWebsphereGlassFishJenkinsResinJettyLotus数据库服务端口渗透MySQL数据库MSSQL数据库Oracle数据库PostgreSQL数据库Mon

    2022年9月12日
    1
  • java类 英文文献_java英文参考文献[通俗易懂]

    java类 英文文献_java英文参考文献[通俗易懂]java英文参考文献【1】vonNeumann.TheFirstDraftReportontheEDVAC.1945年.D.L.Parnas.OntheCriteriaToBeUsedinDecomposingSystemsintoModules.CommunicationsoftheACM,Vol.15,No.12,December19…

    2022年9月30日
    0
  • Hwclock_clock命令

    Hwclock_clock命令hwclock(hardwareclock)功能说明:显示与设定硬件时钟。语  法:hwclock[–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test][–utc][–version][–set–date=<日期与时间>]补充说明:在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是…

    2025年7月7日
    0
  • WIN7 64位 VS2013下载

    WIN7 64位 VS2013下载下载网址:https://msdn.itellyou.cn/复制到迅雷进行下载。 

    2022年9月10日
    0
  • 外地人在北京的真实状态(漫画)

    这就是外地人在北京的真实状态! 北京这个城市看似中国的首都,实则在这里很不容易,但是感谢阿Q的存在,能把这种苦逼包装成一种高大上的状态。早上每天5:30起床睡眠不足,我们包装成早期…

    2021年6月21日
    185
  • Java分布式锁

    Java分布式锁Java分布式锁我的理解应该叫集群锁或者跨实例锁锁的作用是在多线程情况下,控制线程同步访问变量,执行代码块、方法,例如synchronized,在单个jvm进程中,这样是奏效的。但是在分布式环境中,单个服务往往都是要部署多台实例的,在有多个jvm进程的集群里,synchronized就达不到我们的要求了。synchronized只能控制当前jvm进程中的线程,对于其它jvm进程中的线程,它无能为力。也就是说有可能一个jvm中的线程是同步执行的,在此过程中,或许会有集群里其它jvm的线程执行到

    2022年6月10日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号