精华内容
下载资源
问答
  • zenmap
    2019-05-15 16:37:00

    Intense scan

    (nmap -T4 -A -v)

    一般来说,Intense scan可以满足一般扫描

     

    -T4

     加快执行速度

     

    -A

     操作系统及版本探测

     

    -v

     显示详细的输出

    Intense scan plus UDP

    (nmap -sS -sU -T4 -A -v)

    即UDP扫描

     

    -sS

      TCP SYN 扫描

     

    -sU

      UDP 扫描

    Intense scan,all TCP ports

    (nmap -p 1-65536 -T4 -A -v)

    扫描所有TCP端口,范围在1-65535,试图扫描所有端口的开放情况,速度比较慢。

     

    -p

     指定端口扫描范围

    Intense scan,no ping

    (nmap -T4 -A -v -Pn)

    非ping扫描

     

    -Pn

     非ping扫描

    Ping scan

    (nmap -sn)

    Ping 扫描

    优点:速度快。

    缺点:容易被防火墙屏蔽,导致无扫描结果

     

    -sn

     ping扫描

    Quick scan

    (nmap -T4 -F)

    快速的扫描

     

    -F

     快速模式。

    Quick scan plus

    (nmap -sV -T4 -O -F –version-light)

    快速扫描加强模式

     

    -sV

     探测端口及版本服务信息。

     

    -O

     开启OS检测

     

    –version-light

     设定侦测等级为2。

    Quick traceroute

    (nmap -sn –traceroute)

    路由跟踪

     

    -sn Ping

    扫描,关闭端口扫描

     

    -traceroute

     显示本机到目标的路由跃点。

    Regular scan

    规则扫描

     

    Slow comprehensive scan

    (nmap -sS -sU -T4 -A -v -PE -PP -PS80,443,-PA3389,PU40125 -PY -g 53 –script all)

    慢速全面扫描。

    转载于:https://www.cnblogs.com/shrdbk/p/10870369.html

    更多相关内容
  • zenmap.zip

    2020-03-28 22:57:10
    新版kali2019/2020下载不了zenmap且无deb包的情况,这里包含两个包rpm包,和用alien转换的deb包,deb包可直接安装。
  • zenmap_7.80-2_all.deb

    2021-04-13 20:11:35
    kali
  • Nmap使用教程+GUI界面工具Zenmap.zip
  • Zenmap是一个开放源代码的网络探测和安全审核的工具,可以说它是图形化的nmap,它可以支持跨平台。使用zenmap工具可以快速地扫描大型网络或单个主机的信息。如扫描主机提供了哪些服务,开放的端口,使用的操作系统等...
  • zenmap扫描工具

    2018-06-21 02:39:33
    超实用的扫描工具。。超实用的扫描工具。。超实用的扫描工具。。超实用的扫描工具。。
  • zenmap.exe

    2019-10-06 16:14:19
    一个优秀的扫描脚本,用来扫描检测的必备的一个安装包
  • zenmap.rar

    2021-01-24 22:26:39
    zenmap.rar
  • Nmap具备主机探测、服务/版本检测、操作系统检测、网络路由跟踪、Nmap脚本引擎的功能。可以在Windows系统中自行安装Nmap,其中可以使用cmd的形式运行,也可以用zenmap的图形化工具来运行。
  • kali下zenmap安装包资源 教程:https://blog.csdn.net/qq_45403184/article/details/119788929
  • zenmap-7.92-1.noarch.rpm

    2021-09-28 21:51:21
    zenmap-7.92-1.noarch.rpm
  • 错误样式:’utf8′ codec can’t decode byte 0xc0 in position 0: invalid start byte,如下图: 错误原因:报这个错误提示的意思我理解的是存在中文无法解读,因为我没有输入中文,所有推测可能是当前用户的user...
  • Zenmap端口扫描工具

    2016-08-23 17:32:47
    Zenmap不用介绍了吧,太好用的端口扫描,OS扫描等等工具,基于不同协议和类型进行的扫描
  • zenmap-7.91-1.noarch.rpm

    2021-01-28 19:38:57
    apt-get install alien fakeroot下载转化工具 fakeroot alien XXX(包名) 安装deb包 dpkg -i XXX(包名) 完成安装 终端命令zemap,运行zenmap
  • zenmap7.31.0.0

    2019-02-02 14:31:56
    ZenMap是安全扫描工具NMap的一个官方的图形用户界面,是一个跨平台的开源应用,不仅初学者容易使 用,同时为高级使用者提供了很多高级特性。频繁的扫描能够被存储,进行重复运行。命令行工具提供了直接与NMap的交互...
  • zenmap扫描软件

    2013-12-07 15:17:54
    nmap扫描软件以其强大的功能著称,最好装在虚拟机上,不然很容易就被360杀毒软件秒杀。
  • zenmap扫不出操作系统

    2022-05-30 14:04:06
    我在windows系统上使用zenmap进行局域网扫描 经常是能够扫描到主机存活,但是扫描不出来操作系统,不知道是哪出了问题,只有很少数的主机能被扫描出操作系统
  • 今天继续给大家介绍渗透测试相关知识,本文主要内容是Kali Linux安装zenmap的报错问题解决。 一、依赖安装 二、libffi7报错解决 三、error processing package python-gtk2 错误解决

    今天继续给大家介绍渗透测试相关知识,本文主要内容是Kali Linux安装zenmap的报错问题解决。

    免责声明:
    本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
    请勿使用本文中的技术渗透测试未经授权过的主机!!!

    一、依赖安装

    在上文Kali Linux安装zenmap详解中,我们介绍了kali Linux安装zenmap的方法。但是,由于zenmap的运行需要一些依赖,因此,我们如果想要正常运行zenmap,还需要安装zenmap的一些依赖。
    首先,我们下载这些依赖包,执行命令:

    wget http://azure.archive.ubuntu.com/ubuntu/pool/universe/p/pygobject-2/python-gobject-2_2.28.6-14ubuntu1_amd64.deb
    wget http://security.ubuntu.com/ubuntu/pool/universe/p/pycairo/python-cairo_1.16.2-2ubuntu2_amd64.deb
    wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
    

    之后,我们需要安装这些依赖包,安装顺序如下:

    dpkg -i python-gobject-2_2.28.6-14ubuntu1_amd64.deb
    dpkg -i python-cairo_1.16.2-2ubuntu2_amd64.deb
    dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
    

    二、libffi7报错解决

    在执行上述安装命令时,有可能还报错,报错提示是缺少依赖。
    如果报错信息显示缺少libffi7的依赖,那么解决方式如下:
    首先,我们来下载libffi7的依赖包,下载地址如下:
    https://debian.pkgs.org/sid/debian-main-amd64/libffi7_3.3-6_amd64.deb.html
    下载后,如下所示:
    在这里插入图片描述
    之后,我们需要安装该依赖包,执行命令:

    dpkg -i libffi7_3.3-6_amd64.deb
    

    这样,我们的libffi7的安装就完成了。

    三、error processing package python-gtk2 错误解决

    在Kali Linux系统中,是自带默认安装有Python3和Python2的,但是,我们在安装python-gtk2时,有时候也会报缺少Python依赖的错误。
    这时,我们可以使用dpkg的–ignore-depends参数,使得在安装时忽略python的依赖,执行命令:

    dpkg -i --ignore-depend=python python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
    

    该命令执行结果如下:
    在这里插入图片描述
    这样,当我们安装好依赖,再次打开zenmap时,就可以正常打开了,如下所示:
    在这里插入图片描述
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

    展开全文
  • Nmap与zenmap的用法

    千次阅读 2019-11-05 14:18:08
    Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的操作方式。简单常用的操作命令可以保存成为profile,用户扫描时...

    Nmap-扫描器之王

    Nmap是一款网络扫描和主机检测的非常有用的工具。 是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。Nmap是一款非常强大的实用工具,可用于:
    检测活在网络上的主机(主机发现)
    检测主机上开放的端口(端口发现或枚举)
    检测到相应的端口(服务发现)的软件和版本
    检测操作系统,硬件地址,以及软件版本
    检测脆弱性的漏洞(Nmap的脚本)
    Zenmap
    是Nmap官方提供的图形界面,通常随Nmap的安装包发布。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的操作方式。简单常用的操作命令可以保存成为profile,用户扫描时选择profile即可;可以方便地比较不同的扫描结果;提供网络拓扑结构(NetworkTopology)的图形显示功能

    一:探索目标主机是否在线

    主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种不同的主机探测方式,比如发送ICMP echo/ICMP time stamp/ICMP address mask报文、发送TCP SYN/ACK包、发送SCTP INIT/COOKIE-ECHO包,用户可以在不同的条件下灵活选用不同的方式来探测目标机。

    当探测的目标ip与主机的ip不在同一网段时:

    默认情况下( -sn),Nmap会发送四种不同类型的数据包来探测目标主机是否在线。

    1.  ICMP echo request
    2.  a TCP SYN packet to port 443
    3.  a TCP ACK packet to port 80
    4.  an ICMP timestamp request
    

    依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误

    通常主机发现并不单独使用,而只是作为端口扫描、版本侦测、OS侦测先行步骤。而在某些特殊应用(例如确定大型局域网内活动主机的数量),可能会单独专门适用主机发现功能来完成。

    除了nmap -sn这种主机扫描方式,还有下面这三种方式 -PE -PP -PM
    -PE的ICMP Echo扫描简单来说是通过向目标发送ICMP Echo数据包来探测目标主机是否存活,但由于许多主机的防火墙会禁止这些报文,所以仅仅ICMP扫描通常是不够的。
    -PP的ICMP时间戳请求在大多数防火墙配置不当时可能会得到回复,可以以此方式来判断目标主机是否存活。倘若目标主机在线,该命令还会探测其开放的端口以及运行的服务!
    -PM的ICMP地址掩码Ping扫描会试图用备选的ICMP等级Ping指定主机,通常有不错的穿透防火墙的效果

    当探测的ip与主机在同一网段时

    使用nmap -sn 内网ip 这个命令会发送arp请求包探测目标ip是否在线,如果有arp回复包,则说明在线。此命令可以探测目标主机是否在线,如果在线,还可以得到其MAC地址。但是不会探测其开放的端口号。

    使用nmap -PE/PP/PM 内网ip 探测主机的开启情况,使用的是ARP请求报文,如果有ARP回复报文,说明主机在线。-PP/PE/PM命令探测到主机在线后,还会探测主机的端口的开启状态以及运行的服务,其探测端口状态原理在下一节中有介绍。

    探测该主机所在网段内主机的在线情况,使用的是 nmap -sn 网段/子网掩码 。

    二:端口扫描及其原理

    端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。

    默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。

    Nmap通过探测将端口划分为6个状态:
    1. open:端口是开放的。
    2. closed:端口是关闭的。
    3. filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
    4. unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
    5. open|filtered:端口是开放的或被屏蔽。
    6. closed|filtered :端口是关闭的或被屏蔽

    2.1 TCP SYN 扫描

    这是Nmap默认的扫描方式,通常被称作半开放扫描。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么可以判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么可以判断该端口被屏蔽了。因为该方式仅发送SYN包对目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。

    2.2 TCP connent 扫描

    TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑使用的方式

    2.3 TCP ACK 扫描

    向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况

    2.4 TCP FIN/Xmas/NULL 扫描

    这三种扫描方式被称为秘密扫描,因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN 包或Xmas tree包或NULL包,如果收到对方的RST回复包,那么说明该端口是关闭的;没有收到RST包说明该端口可能是开放的或者被屏蔽了。其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有的flags都为0的TCP包。

    2.5 UDP扫描

    UDP扫描用于判断UDP端口的情况,向目标主机的UDP端口发送探测包,如果收到回复ICMP port unreachable就说明该端口是关闭的;如果没有收到回复,那说明该UDP端口可能是开放的或者屏蔽的。因此,通过反向排除法的方式来判断哪些UDP端口是可能处于开放状态的。

    2.6 其他方式

    除了以上几种常用的方式外,Nmap还支持多种其他的探测方式。例如使用SCTP INIT/Cookie-ECHO方式是来探测SCTP的端口开放情况;使用IP protocol方式来探测目标主机支持的协议类型(tcp/udp/icmp/sctp等等);使用idle scan方式借助僵尸主机来扫描目标主机,以达到隐蔽自己的目的;或者使用FTP bounce scan,借助FTP允许的代理服务扫描其他的主机,同样达到隐蔽自己的目的

    三:端口扫描用法

    扫描方式选择

    * 
    

    -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
    *
    -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
    *
    -sN/sF/sX: 指定使用 TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
    *
    –scanflags : 定制TCP包的flags。
    *
    -sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
    *
    -sY/sZ: 使用 SCTP INIT/COOKIE-ECHO 来扫描SCTP协议端口的开放的情况。
    *
    -sO: 使用IP protocol 扫描确定目标机支持的协议类型。
    *
    -b : 使用 FTP bounce scan扫描方式

    端口参数与扫描顺序

    -p : 扫描指定的端口
    实例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP协议、U代表UDP协议、S代表SCTP协议)
    -F: Fast mode – 快速模式,仅扫描TOP 100的端口
    -r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)。
    –top-ports :扫描开放概率最高的number个端口(nmap的作者曾经做过大规模地互联网扫描,以此统计出网络上各种端口可能开放的概率。以此排列出最有可能开放端口的列表,具体可以参见文件:nmap-services。默认情况下,nmap会扫描最有可能的1000个TCP端口)
    –port-ratio : 扫描指定频率以上的端口。与上述–top-ports类似,这里以概率作为参数,让概率大于–port-ratio的端口才被扫描。显然参数必须在在0到1之间,具体范围概率情况可以查看nmap-services文件

    简单扫描(搜索目标主机开放的端口号,运行的服务)
    nmap 10.10.10.1 这个命令会按照 nmap-services文件中指定的端口后进行扫描,然后列出目标主机开放的端口号,以及端口号上运行的服务。在一次简单扫描中,Nmap会以默认TCP SYN扫描方式进行,仅判断目标端口是否开放,若开放,则列出端口对应的服务名称。探测主机是否在线:在简单扫描中,程序会先发送ICMP ECHO/TCP SYN/TCP ACK/ICMP Timestamp包探测主机是否在线,如果其中任何一个包有回应,说明主机在线,进而开始探测目标主机哪些端口开放。当探测的是内网主机时,发送的是ARP请求包探测主机是否在线,有回复说明主机在线!

    全面扫描(详细版本信息)
    例如: nmap -A 10.10.10.1 这个命令不仅列出目标主机开放的端口号,对应的服务,还较为详细的列出了服务的版本,其支持的命令,到达目标主机的每一跳路由等信息。在进行完全扫描时,扫描机与目标主机之间存在大量的数据流量交互,扫描时长随之增加。完全扫描不仅仅是TCP协议上的通信交互,还有例如ICMP、HTTP、NBSS、TDS、POP等等协议的交互,这些协议的交互是因为在完全扫描开始时首先对目标主机的开放端口进行了确认,之后再根据不同对应的不同服务进行服务版本信息探测、账户信息等信息的探测!

    例如:nmap -T4 -A -v 10.10.10.1
    -A选项用于使用进攻性方式扫描
    -T4指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4
    -v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态
    在这里插入图片描述

    探测指定端口的开放状态

    在默认情况下,Nmap对端口的扫描方式是从小到大进行的,或者是参照nmap-services中文件列出的端口进行扫描。-p选项可以指定一个端口号或者一个端口范围。若既想扫描TCP端口又想扫描UDP端口,则需要在端口号前加上T:或U:来分别代表TCP和UDP协议。注意,要既扫描TCP又扫描UDP,则需要指定-sU及至少一个TCP扫描类型(-sS(半连接扫描),-sT(全连接扫描)等),如果没有给定协议限定符,端口号会被加到所有协议列表。

    例: nmap -p 80-445 10.10.10.1 扫描目标主机的80-445端口的开放情况
    在这里插入图片描述

    nmap -sS -sU -p T:80,U:445 10.10.10.1 以半连接的TCP SYN方式扫描目标主机的80端口,以UDP方式扫描目标主机的445端口
    在这里插入图片描述

    探测N个最有可能开放的端口 nmap -sS -sU -T4 --top -ports 100 10.10.20.53 参数-sS表示使用TCP SYN方式扫描TCP端口;-sU表示扫描UDP端口;-T4表示时间级别配置4级;–top-ports 100表示扫描最有可能开放的100个端口(TCP和UDP分别100个端口)。
    在这里插入图片描述

    四:版本侦测

    版本侦测,用于确定目标主机开放端口上运行的具体的应用程序及版本信息。

    Nmap提供的版本侦测具有如下的优点:

    * 
    

    高速。并行地进行套接字操作,实现一组高效的探测匹配定义语法。
    *
    尽可能地确定应用名字与版本名字。
    *
    支持TCP/UDP协议,支持文本格式与二进制格式。
    *
    支持多种平台服务的侦测,包括Linux/Windows/Mac OS/FreeBSD等系统。
    *
    如果检测到SSL,会调用openSSL继续侦测运行在SSL上的具体协议(如HTTPS/POP3S/IMAPS)。
    *
    如果检测到SunRPC服务,那么会调用brute-force RPC grinder进一步确定RPC程序编号、名字、版本号。
    *
    支持完整的IPv6功能,包括TCP/UDP,基于TCP的SSL。
    *
    通用平台枚举功能(CPE)
    *
    广泛的应用程序数据库(nmap-services-probes)。目前Nmap可以识别几千种服务的签名,包含了180多种不同的协议。

    4.1版本侦测原理

    版本侦测主要分为以下几个步骤:

    1. 
    

    首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
    2.
    如果是TCP端口,尝试建立TCP连接。尝试等待片刻(通常6秒或更多,具体时间可以查询文件nmap-services-probes中Probe TCP NULL q||对应的totalwaitms)。通常在等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap将接收到的Banner与nmap-services-probes中NULL probe中的签名进行对比。查找对应应用程序的名字与版本信息。
    3.
    如果通过“Welcome Banner”无法确定应用程序版本,那么nmap再尝试发送其他的探测包(即从nmap-services-probes中挑选合适的probe),将probe得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。
    4.
    如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型。
    5.
    如果探测到应用程序是SSL,那么调用openSSL进一步的侦查运行在SSL之上的具体的应用类型。
    6.
    如果探测到应用程序是SunRPC,那么调用brute-force RPC grinder进一步探测具体服务。

    4.2版本侦测用法

    比如目标主机把SSH的22号端口改成了2222端口,那么如果使用普通扫描只会发现2222端口是开启的,并不能知道2222号端口上运行的程序,通过加参数 -sV 进行版本扫描,可以探测到目标主机上2222端口运行的是SSH服务
    -sV: 指定让Nmap进行版本侦测
    –version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
    –version-light: 指定使用轻量侦测方式 (intensity 2)
    –version-all: 尝试使用所有的probes进行侦测 (intensity 9)
    –version-trace: 显示出详细的版本侦测过程信息

    nmap -sV 10.10.20.53
    在这里插入图片描述

    五:OS侦测

    操作系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。

    Nmap拥有丰富的系统数据库 nmap-os-db,目前可以识别2600多种操作系统与设备类型。

    5.1 OS侦测原理

    Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。

    具体实现方式如下:

    1.  Nmap内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中)。将此指纹数据库作为进行指纹对比的样本库。
    2.  分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。
    3.  将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。
    

    5.2 OS侦测用法
    -O: 指定Nmap进行OS侦测。
    –osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。
    –osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统
    在这里插入图片描述

    Zenmap的扫描参数及其意义

    在目标栏输入IP地址/掩码位数 则工具会自动生成nmap命令,或者选择配置下拉选项,里面有集成好的10种扫描模式,也可以自己在命令对话框里编写自己的nmap命令。
    在这里插入图片描述

    扫描完成后
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    展开全文
  • Nmap和Zenmap详解

    千次阅读 2020-01-23 22:31:11
    Zenmap的使用 Nmap 是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的...

    目录

    一:探索目标主机是否在线

    当探测公网 ip时

    nmap -sn

    nmap  -PE/-PP/-PM

    当探测内网ip时

    nmap -sn

    nmap  -PE/-PP/-PM

    二:端口扫描及其原理

    三:端口扫描用法

    简单扫描(nmap ip)

    全面扫描(nmap -A ip)

    探测指定端口的开放状态

    探测N个最有可能开放的端口

    四:版本侦测

    版本侦测原理

    版本侦测用法

    五:OS侦测

    OS侦测原理

    OS侦测用法

    六:Nmap高级用法

    防火墙/IDS规避

    分片

    IP诱骗(IP decoys)

    IP伪装

    指定源端口

    扫描延时

    其他技术

    NSE脚本引擎

    Zenmap的使用


    Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。官网为:www.nmap.org。 
    一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 
    Nmap的优点: 

    • 灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描
    • 强大。Nmap可以用于扫描互联网上大规模的计算机
    • 可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
    • 简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip
    • 自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用
    • 文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍
    • 社区支持。Nmap背后有强大的社区团队支持

    Nmap包含四项基本功能:

    • 主机发现 (Host Discovery)
    • 端口扫描 (Port Scanning)
    • 版本侦测 (Version Detection)
    • 操作系统侦测 (Operating System Detection)

    而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑),首先需要进行主机发现,随后确定端口状态,然后确定端口上运行的具体应用程序和版本信息,然后可以进行操作系统的侦测。而在这四项功能的基础上,nmap还提供防火墙和 IDS 的规避技巧,可以综合运用到四个基本功能的各个阶段。另外nmap还提供强大的NSE(Nmap  Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。

    先整理一些nmap参数及其意义

     
    1. nmap –iflist : 查看本地主机的接口信息和路由信息

    2. -A :选项用于使用进攻性方式扫描

    3. -T4: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4

    4. -oX test.xml: 将扫描结果生成 test.xml 文件

    5. -oG test.txt: 将扫描结果生成 test.txt 文件

    6. -sn : 只进行主机发现,不进行端口扫描

    7. -O : 指定Nmap进行系统版本扫描

    8. -sV: 指定让Nmap进行服务版本扫描

    9. -p <port ranges>: 扫描指定的端口

    10. -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描

    11. -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况

    12. -script <script name> : 指定扫描脚本

    13. -Pn : 不进行ping扫描

    14. -iL 1.txt : 批量扫描1.txt中的目标地址

    15.  
    16. -sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现

    17. -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况

    18. -sO: 使用IP protocol 扫描确定目标机支持的协议类型

    19. -PO : 使用IP协议包探测对方主机是否开启

    20. -PE/PP/PM : 使用ICMP echo、 ICMP timestamp、ICMP netmask 请求包发现主机

    21. -PS/PA/PU/PY : 使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现

    22.  
    23. -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态

    24. -e eth0:指定使用eth0网卡进行探测

    25. -f : --mtu <val>: 指定使用分片、指定数据包的 MTU.

    26. -b <FTP relay host>: 使用FTP bounce scan扫描方式

    27. -g: 指定发送的端口号

    28. -r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)

    29. -v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态

    30. -n : 表示不进行DNS解析;

    31. -D <decoy1,decoy2[,ME],...>: 用一组 IP 地址掩盖真实地址,其中 ME 填入自己的 IP 地址

    32. -R :表示总是进行DNS解析。

    33. -F : 快速模式,仅扫描TOP 100的端口

    34. -S <IP_Address>: 伪装成其他 IP 地址

    35. --ttl <val>: 设置 time-to-live 时间

    36. --badsum: 使用错误的 checksum 来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,说明回复来自防火墙或 IDS/IPS)

    37. --dns-servers : 指定DNS服务器

    38. --system-dns : 指定使用系统的DNS服务器

    39. --traceroute : 追踪每个路由节点

    40. --scanflags <flags>: 定制TCP包的flags

    41. --top-ports <number> :扫描开放概率最高的number个端口

    42. --port-ratio <ratio>: 扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数

    43. --version-trace: 显示出详细的版本侦测过程信息

    44. --osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)

    45. --osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统

    46. --data-length <num>: 填充随机数据让数据包长度达到 Num

    47. --ip-options <options>: 使用指定的 IP 选项来发送数据包

    48. --spoof-mac <mac address/prefix/vendor name> : 伪装 MAC 地址

    49. --version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。

    50. --version-light: 指定使用轻量侦测方式 (intensity 2)

    51. --version-all: 尝试使用所有的probes进行侦测 (intensity 9)

    52. --version-trace: 显示出详细的版本侦测过程信息

    • 1

    一:探索目标主机是否在线

    主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种不同的主机探测方式,用户可以在不同的条件下灵活选用不同的方式来探测目标机。主机发现常用参数如下。

     
    1. -sn: Ping Scan 只进行主机发现,不进行端口扫描。

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

    3. -PS/PA/PU/PY[portlist]: 使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现。

    4.  
    5. -sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。

    6. -Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。

    7. -PO[protocollist]: 使用IP协议包探测对方主机是否开启。

    8. -n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。

    9. --dns-servers <serv1[,serv2],...>: 指定DNS服务器。

    10. --system-dns: 指定使用系统的DNS服务器

    11. --traceroute: 追踪每个路由节点

    • 1

    当探测公网 ip时

    nmap -sn

    Nmap会发送四种不同类型的数据包来探测目标主机是否在线。

    1. ICMP echo request
    2. a TCP SYN packet to port 443(https)
    3. a TCP ACK packet to port 80(http)
    4. an ICMP timestamp request
     例:  nmap  -sn   133.133.100.30  
    • 1

    依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误

    通常主机发现并不单独使用,而只是作为端口扫描、版本侦测、OS侦测先行步骤。而在某些特殊应用(例如确定大型局域网内活动主机的数量),可能会单独专门使用主机发现功能来完成。

    nmap  -PE/-PP/-PM

    • -PE 的ICMP Echo扫描简单来说是通过向目标发送ICMP Echo数据包来探测目标主机是否存活,但由于许多主机的防火墙会禁止这些报文,所以仅仅ICMP扫描通常是不够的。                                                                                                                    nmap   -PE   133.133.100.30

    • -PP 的ICMP time stamp时间戳扫描在大多数防火墙配置不当时可能会得到回复,可以以此方式来判断目标主机是否存活。倘若目标主机在线,该命令还会探测其开放的端口以及运行的服务!                                                                              nmap  nmap  -PP  133.133.100.30

    • -PM 的ICMP address maskPing地址掩码扫描会试图用备选的ICMP等级Ping指定主机,通常有不错的穿透防火墙的效果       nmap  -PM  133.133.100.30

    • -PS的TCP SYN扫描

    当探测内网ip时

    nmap -sn

    使用 nmap  -sn  内网ip   这个命令会发送arp请求包探测目标ip是否在线,如果有arp回复包,则说明在线。此命令可以探测目标主机是否在线,如果在线,还可以得到其MAC地址。但是不会探测其开放的端口号。

    nmap  -PE/-PP/-PM

    使用 nmap  -PE/PP/PM  内网ip 探测主机的开启情况,使用的是ARP请求报文,如果有ARP回复报文,说明主机在线。-PP/PE/PM命令探测到主机在线后,还会探测主机的端口的开启状态以及运行的服务,其探测端口状态原理在下一节中有介绍。

     探测该主机所在网段内所有主机的在线情况,使用的是  nmap  -sn   网段/子网掩码 。

    例:nmap  -sn  10.96.10.0/24  或  nmap  -sn  10.96.10.100-200
    • 1

    探测10.96.10.0 这个网段内主机的在线情况,返回在线主机的ip和MAC地址

    二:端口扫描及其原理

    端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。

    默认情况下,Nmap会扫描1000个最有可能开放的TCP端口

    Nmap通过探测将端口划分为6个状态:

    1. open:端口是开放的。
    2. closed:端口是关闭的。
    3. filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
    4. unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
    5. open|filtered:端口是开放的或被屏蔽。
    6. closed|filtered :端口是关闭的或被屏蔽

    TCP SYN 扫描(-sS)

            这是Nmap默认的扫描方式,通常被称作半开放扫描。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么可以判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么可以判断该端口被屏蔽了。因为该方式仅发送SYN包对目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。

    TCP connent 扫描(-sT)

          TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑使用的方式

    TCP ACK 扫描(-sA)

          向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况

    TCP FIN/Xmas/NULL 扫描(-sN/sF/sX)

          这三种扫描方式被称为秘密扫描,因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN 包或Xmas tree包或NULL包,如果收到对方的RST回复包,那么说明该端口是关闭的;没有收到RST包说明该端口可能是开放的或者被屏蔽了。其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有的flags都为0的TCP包。

    UDP扫描(-sU)

          UDP扫描用于判断UDP端口的情况,向目标主机的UDP端口发送探测包,如果收到回复ICMP port unreachable就说明该端口是关闭的;如果没有收到回复,那说明该UDP端口可能是开放的或者屏蔽的。因此,通过反向排除法的方式来判断哪些UDP端口是可能处于开放状态的。

    其他方式(-sY/-sZ)

         除了以上几种常用的方式外,Nmap还支持多种其他的探测方式。例如使用SCTP INIT/Cookie-ECHO方式是来探测SCTP的端口开放情况;使用IP protocol方式来探测目标主机支持的协议类型(tcp/udp/icmp/sctp等等);使用idle scan方式借助僵尸主机来扫描目标主机,以达到隐蔽自己的目的;或者使用FTP bounce scan,借助FTP允许的代理服务扫描其他的主机,同样达到隐蔽自己的目的

    三:端口扫描用法

    扫描方式选项

     
    1. -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。

    2.  
    3. -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。

    4.  
    5. -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。

    6.  
    7. --scanflags <flags>: 定制TCP包的flags。

    8.  
    9. -sI <zombiehost[:probeport]>: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)

    10.  
    11. -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。

    12.  
    13. -sO: 使用IP protocol 扫描确定目标机支持的协议类型。

    14.  
    15. -b <FTP relay host>: 使用FTP bounce scan扫描方式

    • 1

    端口参数与扫描顺序

     
    1. -p <port ranges>: 扫描指定的端口

    2.  
    3. 实例: -p 22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP协议、U代表UDP协议、S代表SCTP协议)

    4.  
    5. -F: Fast mode – 快速模式,仅扫描TOP 100的端口

    6.  
    7. -r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)。

    8.  
    9. --top-ports <number>:扫描开放概率最高的number个端口(nmap的作者曾经做过大规模地互联网扫描,以此统计出网络上各种端口可能开放的概率。以此排列出最有可能开放端口的列表,具体可以参见文件:nmap-services。默认情况下,nmap会扫描最有可能的1000个TCP端口)

    10.  
    11. --port-ratio <ratio>: 扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数,让概率大于--port-ratio的端口才被扫描。显然参数必须在在0到1之间,具体范围概率情况可以查看nmap-services文件

    • 1

    简单扫描(nmap ip)

    nmap   202.207.236.2
    • 1

    例如: nmap  202.207.236.2    这个命令会按照 nmap-services 文件中指定的端口进行扫描,然后列出目标主机开放的端口号,以及端口号上运行的服务。在一次简单扫描中,Nmap会以默认TCP SYN扫描方式进行,仅判断目标端口是否开放,若开放,则列出端口对应的服务名称。

    探测端口开放过程:  确定主机在线之后,nmap会按照nmap-services文件中的端口号发送TCP SYN报文给主机相应的端口,如果主机回复一个包含TCP SYN、ACK的报文,则说明该端口号开放。nmap会再回复一个TCP RST清除连接复位。下面的截图是nmap是和目标主机的80号端口的探测过程,由此可见,目标主机的22号端口属于开放状态!

    全面扫描(nmap -A ip)

    nmap   -A  202.207.236.2
    • 1

    例如: nmap  -A  202.207.236.2    这个命令不仅列出目标主机开放的端口号,对应的服务,还较为详细的列出了服务的版本,其支持的命令,到达目标主机的每一跳路由等信息。在进行完全扫描时,扫描机与目标主机之间存在大量的数据流量交互,扫描时长随之增加。完全扫描不仅仅是TCP协议上的通信交互,还有例如ICMP、HTTP、NBSS、TDS、POP等等协议的交互,这些协议的交互是因为在完全扫描开始时首先对目标主机的开放端口进行了确认,之后再根据不同对应的不同服务进行服务版本信息探测、账户信息等信息的探测!

    • 探测主机是否在线:全面扫描时探测主机是否在线和简单扫描完全一致
    • 探测端口是否打开:全面扫描时探测主机端口开放和简单扫描完全一致
    • 探测端口服务具体版本:每个协议都不一样,总之就是确定端口开放了之后,和该端口进行更多的数据交互,以获得更多的信息。在下一节的版本探测中有更深入的研究
    • 探测主机系统:在下一节的系统探测中有更深入的研究。
    nmap -T4 -A -v xx.xx.xx.xx
    • 1
    • -A 选项用于使用进攻性方式扫描
    • -T4 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4
    • -v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态

    例如:nmap -T4 -A -v 10.96.10.246

    全面扫描时数据流量包的截图,确定了哪些端口的协议开启了之后,进行更加深入的探测!

    探测指定端口的开放状态

    在默认情况下,Nmap对端口的扫描方式是从小到大进行的,或者是参照 nmap-services 中文件列出的端口进行扫描。-p选项可以指定一个端口号或者一个端口范围。若既想扫描TCP端口又想扫描UDP端口,则需要在端口号前加上T:或U:来分别代表TCP和UDP协议。注意,要既扫描TCP又扫描UDP,则需要指定-sU及至少一个TCP扫描类型(-sS(半连接扫描),-sT(全连接扫描)等),如果没有给定协议限定符,端口号会被加到所有协议列表。

    例: nmap  -p  80-445  10.96.10.246     扫描目标主机的80-445端口的开放情况

    从上面的图中可以看到,若只简单的指定一个端口范围,Nmap会默认以TCP SYN方式扫描目标端口,若既想扫描目标TCP端口又想扫描UDP的端口,则需要指定扫描方式以及端口。

    例: nmap  -sS   -sU  -p  T:80,U:445   10.96.10.246     以半连接的TCP SYN方式扫描目标主机的80端口,以UDP方式扫描目标主机的445端口

    探测N个最有可能开放的端口

    例:nmap -sS -sU --top-ports 100 10.96.10.246
    • 1

    参数-sS表示使用TCP SYN方式扫描TCP端口;-sU表示扫描UDP端口;--top-ports 100表示扫描最有可能开放的100个端口(TCP和UDP分别100个端口)。

    四:版本侦测

    版本侦测,用于确定目标主机开放端口上运行的具体的应用程序及版本信息。

    Nmap提供的版本侦测具有如下的优点:

    • 高速。并行地进行套接字操作,实现一组高效的探测匹配定义语法。
    • 尽可能地确定应用名字与版本名字。
    • 支持TCP/UDP协议,支持文本格式与二进制格式。
    • 支持多种平台服务的侦测,包括Linux/Windows/Mac OS/FreeBSD等系统。
    • 如果检测到SSL,会调用openSSL继续侦测运行在SSL上的具体协议(如HTTPS/POP3S/IMAPS)。
    • 如果检测到SunRPC服务,那么会调用brute-force RPC grinder进一步确定RPC程序编号、名字、版本号。
    • 支持完整的IPv6功能,包括TCP/UDP,基于TCP的SSL。
    • 通用平台枚举功能(CPE)
    • 广泛的应用程序数据库(nmap-services-probes)。目前Nmap可以识别几千种服务的签名,包含了180多种不同的协议。

    版本侦测原理

    版本侦测主要分为以下几个步骤:

    1. 首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
    2. 如果是TCP端口,尝试建立TCP连接。尝试等待片刻(通常6秒或更多,具体时间可以查询文件nmap-services-probes中Probe TCP NULL q||对应的totalwaitms)。通常在等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap将接收到的Banner与nmap-services-probes中NULL probe中的签名进行对比。查找对应应用程序的名字与版本信息。
    3. 如果通过“Welcome Banner”无法确定应用程序版本,那么nmap再尝试发送其他的探测包(即从nmap-services-probes中挑选合适的probe),将probe得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。
    4. 如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型。
    5. 如果探测到应用程序是SSL,那么调用openSSL进一步的侦查运行在SSL之上的具体的应用类型。
    6. 如果探测到应用程序是SunRPC,那么调用brute-force RPC grinder进一步探测具体服务。

    版本侦测用法

    比如目标主机把SSH的22号端口改成了2222端口,那么如果使用普通扫描只会发现2222端口是开启的,并不能知道2222号端口上运行的程序,通过加参数  -sV  进行版本扫描,可以探测到目标主机上2222端口运行的是SSH服务

     
    1. -sV: 指定让Nmap进行版本侦测

    2.  
    3. --version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。

    4.  
    5. --version-light: 指定使用轻量侦测方式 (intensity 2)

    6.  
    7. --version-all: 尝试使用所有的probes进行侦测 (intensity 9)

    8.  
    9. --version-trace: 显示出详细的版本侦测过程信息

    • 1
    例:  nmap  -sV  10.96.10.246
    • 1

    五:OS侦测

    操作系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。

    Nmap拥有丰富的系统数据库nmap-os-db,目前可以识别2600多种操作系统与设备类型。

    OS侦测原理

    Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。

    具体实现方式如下:

    1. Nmap内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中)。将此指纹数据库作为进行指纹对比的样本库。
    2. 分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。
    3. 将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

    OS侦测用法

     
    1. -O: 指定Nmap进行OS侦测。

    2.  
    3. --osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。

    4.  
    5. --osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统

    • 1
    例: nmap -O 10.96.10.246
    • 1

    六:Nmap高级用法

    防火墙/IDS规避

    防火墙与IDS规避为用于绕开防火墙与IDS的检测与屏蔽,以便能够更加详细地发现目标主机的状况。nmap提供了多种规避技巧通常可以从两个方面考虑规避方式:数据包的变换(Packet Change)和时序变换(Timing Change)

    分片

    将可疑的探测包进行分片处理(例如将TCP包拆分成多个IP包发送过去),某些简单的防火墙为了加快处理速度可能不会进行重组检查,以此避开其检查

    IP诱骗(IP decoys)

    在进行扫描时,将真实IP地址在和其他主机的IP地址混合使用(其他主机需要在线,否则目标主机将回复大量数据包到不存在的数主机,从而实质构成了DOS攻击),以此让目标主机的防火墙或IDS追踪大量的不同IP地址的数据包,降低其追查到自身的概率。但是,某些高级的IDS系统通过统计分析仍然可以追踪出扫描者真实的IP地址

    IP伪装

    IP伪装就是将自己发送的数据包中的IP地址伪装成其他主机的地址,从而目标机认为是其他主机与之通信。需要注意的是,如果希望接收到目标主机的回复包,那么伪装的IP需要位于统一局域网内。另外,如果既希望隐蔽自己的IP地址,又希望收到目标主机的回复包,那么可以尝试使用idle scan 或匿名代理等网络技术

    指定源端口

    某些目标主机只允许来自特定端口的数据包通过防火墙。例如,FTP服务器的配置为允许源端口为21号的TCP包通过防火墙与FTP服务器通信,但是源端口为其他的数据包被屏蔽。所以,在此类情况下,可以指定数据包的源端口

    扫描延时

    某些防火墙针对发送过于频繁的数据包会进行严格的侦查,而且某些系统限制错误报文产生的频率。所以,我们可以降低发包的频率和发包延时以此降低目标主机的审查强度

    其他技术

    nmap还提供其他多种规避技巧,比如指定使用某个网络接口来发送数据包、指定发送包的最小长度、指定发包的MTU、指定TTL、指定伪装的MAC地址,使用错误检查。

     
    1. -f; --mtu <val>: 指定使用分片、指定数据包的 MTU.

    2. -D <decoy1,decoy2[,ME],...>: 用一组 IP 地址掩盖真实地址,其中 ME 填入自己的 IP 地址。

    3. -S <IP_Address>: 伪装成其他 IP 地址

    4. -e <iface>: 使用特定的网络接口

    5. -g/--source-port <portnum>: 使用指定源端口

    6. --data-length <num>: 填充随机数据让数据包长度达到 Num。

    7. --ip-options <options>: 使用指定的 IP 选项来发送数据包。

    8. --ttl <val>: 设置 time-to-live 时间。

    9. --spoof-mac <mac address/prefix/vendor name>: 伪装 MAC 地址

    10. --badsum: 使用错误的 checksum 来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,

    11. 说明回复来自防火墙或 IDS/IPS)

    • 1

    实例: 

     
    1. nmap -F -Pn -D 10.96.10.100,10.96.10.110,ME -e eth0 -g 5555 202.207.236.3

    2.  
    3. -F参数表示快速扫描100个端口,-Pn不进行ping扫描,-D表示使用ip诱骗方式掩饰真实ip,使用的是10.96.10.100和10.96.10.110,ME表示自己真实的ip,这里是10.96.10.234,-e 参数指定eth0网卡发送数据包,-g参数指定发送的端口号

    • 1

     

    NSE脚本引擎

    NSE脚本引擎(Nmap Scripting Engine)是nmap最强大,最灵活的功能之一,允许用户自己编写脚本来执行自动化的操作或者扩展nmap的功能。

    nmap的脚本库的路径:/usr/share/nmap/scripts  ,该目录下的文件都是nse脚本

    NSE使用Lua脚本语言,并且默认提供了丰富的脚本库,目前已经包含了14个类别的350多个脚本。NSE的设计初衷主要考虑以下几个方面

    • 网络发现(Network Discovery)
    • 更加复杂的版本侦测(例如 skype 软件)
    • 漏洞侦测(Vulnerability Detection)
    • 后门侦测(Backdoor Detection)
    • 漏洞利用(Vulnerability Exploitation)
    例如:nmap -script   smb-vuln-ms17-010  192.168.10.34  #可以探测该主机是否存在ms17_010漏洞
    • 1

    Zenmap的使用

    Zenmap是Nmap官方提供的图形界面,通常随Nmap的安装包发布。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的操作方式。简单常用的操作命令可以保存成为profile,用户扫描时选择profile即可;可以方便地比较不同的扫描结果;

    Intense scan

    (nmap -T4 -A -v)

    一般来说,Intense scan可以满足一般扫描

     

    -T4

     加快执行速度

     

    -A

     操作系统及版本探测

     

    -v

     显示详细的输出

    Intense scan plus UDP

    (nmap -sS -sU -T4 -A -v)

    即UDP扫描

     

    -sS

      TCP SYN 扫描

     

    -sU

      UDP 扫描

    Intense scan,all TCP ports

    (nmap -p 1-65536 -T4 -A -v)

    扫描所有TCP端口,范围在1-65535,试图扫描所有端口的开放情况,速度比较慢。

     

    -p

     指定端口扫描范围

    Intense scan,no ping

    (nmap -T4 -A -v -Pn)

    非ping扫描

     

    -Pn

     非ping扫描

    Ping scan

    (nmap -sn)

    Ping 扫描

    		<p>优点:速度快。</p>
    
    		<p>缺点:容易被防火墙屏蔽,导致无扫描结果</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-sn</p>
    		</td>
    		<td>
    		<p>&nbsp;ping扫描</p>
    		</td>
    	</tr><tr><td>
    		<p>Quick scan</p>
    		</td>
    		<td>
    		<p>(nmap -T4 -F)</p>
    		</td>
    		<td>
    		<p>快速的扫描</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-F</p>
    		</td>
    		<td>
    		<p>&nbsp;快速模式。</p>
    		</td>
    	</tr><tr><td>
    		<p>Quick scan plus</p>
    		</td>
    		<td>
    		<p>(nmap -sV -T4 -O -F --version-light)</p>
    		</td>
    		<td>
    		<p>快速扫描加强模式</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-sV</p>
    		</td>
    		<td>
    		<p>&nbsp;探测端口及版本服务信息。</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-O</p>
    		</td>
    		<td>
    		<p>&nbsp;开启OS检测</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>--version-light</p>
    		</td>
    		<td>
    		<p>&nbsp;设定侦测等级为2。</p>
    		</td>
    	</tr><tr><td>
    		<p>Quick traceroute</p>
    		</td>
    		<td>
    		<p>(nmap -sn --traceroute)</p>
    		</td>
    		<td>
    		<p>路由跟踪</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-sn Ping</p>
    		</td>
    		<td>
    		<p>扫描,关闭端口扫描</p>
    		</td>
    	</tr><tr><td>
    		<p>&nbsp;</p>
    		</td>
    		<td>
    		<p>-traceroute</p>
    		</td>
    		<td>
    		<p>&nbsp;显示本机到目标的路由跃点。</p>
    		</td>
    	</tr><tr><td>
    		<p>Regular scan</p>
    		</td>
    		<td>
    		<p>规则扫描</p>
    		</td>
    		<td>
    		<p>&nbsp;</p>
    		</td>
    	</tr><tr><td>
    		<p>Slow comprehensive scan</p>
    		</td>
    		<td>
    		<p>(nmap -sS -sU -T4 -A -v -PE -PP -PS80,443,-PA3389,PU40125 -PY -g 53 --script all)</p>
    		</td>
    		<td>
    		<p>慢速全面扫描。</p>
    		</td>
    	</tr></tbody></table></div>          </div>
                  </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 点赞 1
    • 收藏
    • 分享
    展开全文
  • Kali Linux安装zenmap详解

    2022-05-28 20:22:12
    今天继续给大家介绍渗透测试相关知识,本文主要内容是Kali Linux安装zenmap。 一、zenmap下载 二、zenmap格式转换 三、zenmap安装
  • 众所周知,在kali2020版本以后,kali移除了zenmap,因为这东西太鸡肋了,和nmap相比就是单纯多了一个图形化界面,您都用上kali了,还不适应命令行模式啊。。。。但就是师弟强行要用,没办法,安排吧 首先第一步要做...
  • 图形界面工具-zenmap

    2021-05-14 21:36:31
    zenmap介绍Zenmap是官方的Nmap安全扫描器GUI。它是一个多平台(Linux、Windows、MacOSX、BSD等)的免费开源应用程序,旨在让初学者轻松使用Nmap,同时为经验丰富的Nmap用户提供高级功能。常用的扫描可以保存为配置文件...
  • 端口扫描:zenmap工具的使用

    千次阅读 2021-10-29 09:04:38
    在学习TCP三次握手、TCP/UDP端口、服务进程等网络基本知识的基础上,通过对 Zenmap和nmap工具使用方法的练习,进一步掌握端口扫描的实现方法。 二、实验内容、步骤、结果 如操作环境、系统配置、操作步骤、程序源...
  • Zenmap是Nmap官方提供的图形界面,通常随Nmap的安装包发布。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的...
  • zenmap扫描方式介绍

    2022-05-29 22:36:41
    今天继续给大家介绍渗透测试相关知识,本文主要内容是zenmap扫描方式介绍。 一、zenmap简介 二、Intense扫描 三、Intense scan plus UDP扫描 四、Intense scan,all TCP ports 扫描 五、Intense scan,no ping扫描 六...
  • Windows下nmap命令及Zenmap工具的使用方法

    万次阅读 多人点赞 2020-11-04 17:34:41
    二、Zenmap的使用方法 1、Zenmap简介 zenmap是一个开放源代码的网络探测和安全审核的工具,它是nmap安全扫描工具的图形界面前端,它可以支持跨平台。使用zenmap工具可以快速地扫描大型网络或单个主机的信息。如扫描...
  • kali2020安装zenmap

    千次阅读 2021-01-27 11:19:55
    kali2020是不自带zenmap的。使用apt install也没有源可以安装。所以需要另外下载rpm报,重新转换问deb格式安装 下载zenmap: https://nmap.org/download.html 下载后进行转换: 用管理员权限安装转换工具:su ...
  • 图(本图为amxking公司2000系统下运行抓图): 对于多数普通用户来说,可能更喜欢图形界面Zenmap,那么在安装的时候一定要记得勾选安装Zenmap(如图2),安全完成后会在桌面和开始菜单上会产生新的Zenmap快捷方式,...
  • Zenmap输入不了目标(target)

    千次阅读 2022-02-27 20:36:48
    下载Zenmap的网站 选择自己的操作系统 下载Zenmap 无脑安装即可 我们来说问题 死活输不进去值怎么办? 解析:看到右侧的phpstudy了吗?没有运行就会输不进去 解决办法:下载phpstudy 安装后运行,就可以了(建议...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,272
精华内容 508
关键字:

zenmap

友情链接: kones98k-1389de-1ram.rar