精华内容
下载资源
问答
  • nmap扫描常用命令详解

    千次阅读 2020-09-12 21:18:27
    -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。 -sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。 -sF -sN 秘密FIN数据包扫描、Xmas Tree、Null...

    常用命令:-vv是详细信息

    nmap -vv -sT -sV -Pn 192.168.200.14  -p 1433

    nmap -sT -sV -Pn 192.168.200.14  -p 1433

    1. -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。

    2. -sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。

    3. -sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式

    4. -sP ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。

    5. -sU UDP扫描,但UDP扫描是不可靠的

    6. -sA 这项高级的扫描方法通常用来穿过防火墙的规则集

    7. -sV 探测端口服务版本

    8. -Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描

    9. -v 显示扫描过程,推荐使用

    10. -h 帮助选项,是最清楚的帮助文档

    11. -p 指定端口,如“1-65535、1433、135、22、80”等

    12. -O 启用远程操作系统检测,存在误报

    13. -A 全面系统检测、启用脚本检测、扫描等

    14. -oN/-oX/-oG 将报告写入文件,分别是正常、XML、grepable 三种格式

    15. -T4 针对TCP端口禁止动态扫描延迟超过10ms

    16. -iL 读取主机列表,例如,“-iL C:\ip.txt”

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

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

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

    21. -oX test.xml: 将扫描结果生成 test.xml 文件,如果中断,则结果打不开

    22. -oA test.xml: 将扫描结果生成 test.xml 文件,中断后,结果也可保存

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

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

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

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

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

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

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

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

    31. -Pn : 不进行ping扫描

    32. -sP : 用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping

    33. -PI : 设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     

     

    nmap -p 445 192.168.7.* |grep "nmap"

    常用:-sV参数,例如,nmap 192.168.0.108 -p 1-100 -sV

    Nmap扫描基础扫描
    当用户对Nmap工具了解后,即可使用该工具实施扫描。通过上一章的介绍,用户可知Nmap工具可以分别对主机、端口、版本、操作系统等实施扫描。但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描。所以,本章将通过使用Nmap工具实施基础的扫描,来帮助用户了解该工具。

    Nmap扫描扫描概述
    在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题。本节将对网络基本扫描进行一个简单介绍。

    1.网络扫描基础知识

    在使用网络扫描之前,需要先理解以下内容:

    q  当目标主机上使用了防火墙、路由器、代理服务或其它安全设备时,使用Nmap扫描结果可能会存在一些偏差。或者当扫描的远程目标主机不在本地网络内时,也有可能会出现误导信息。
    q  在使用Nmap实施扫描时,一些选项需要提升权限。在Unix和Linux系统中,必须使用root登录或者使用sudo命令执行Nmap命令。


    2.法律边界问题

    在实施网络扫描时,需要考虑一些法律边界问题。如下所示:

    q  在扫描互联网服务提供商网络时(如政府或秘密服务器网站),如果没有被允许的话,不要进行扫描。否则,会惹上法律麻烦。
    q  全面扫描某些主机时,可能会导致主机崩溃、停机或数据丢失等不良结果。所以,在扫描关键任务时要小心谨慎。


    Nmap扫描指定扫描目标
    当用户有明确的扫描目标时,可以直接使用Nmap工具实施扫描。根据扫描目标的多少,可以分为扫描单个目标、多个目标及目标列表三种情况。本节将依次讲解这三种情况的扫描方式。

    Nmap扫描扫描单个目标
    通过指定单个目标,使用Nmap工具可以实现一个基本的扫描。指定的目标可以是一个IP地址,也可以是主机名(Nmap会自动解析其主机名)。其中,语法格式如下所示:

    nmap [目标]


    其中,参数[目标]可以是一个IP地址,也可以是一个主机名。

    【示例2-4】扫描局域网中IP地址为192.168.1.105的主机。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.105
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 18:44 CST
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00010s latency).
    Not shown: 995 closed ports
    PORT   STATE SERVICE
    21/tcp      open  ftp
    22/tcp      open  ssh
    23/tcp      open  telnet
    111/tcp    open  rpcbind
    445/tcp    open  microsoft-ds
    MAC Address: 00:0C:29:31:02:17 (VMware)
    Nmap done: 1 IP address (1 host up) scanned in 0.87 seconds


    从输出信息中,可以看到目标主机192.168.1.105上开启的端口有21、22、23、111、445,及这些端口所对应的服务。而且,还可以看到该目标主机的MAC地址为00:0C:29:31:02:17。从最后一行信息,可以看出目标主机是活动的(up),并且扫描该目标主机共用了0.87秒。

    提示:Nmap工具默认扫描前1000个端口,即1-1000。如果用户想扫描1000以上端口的话,需要使用-p选项来指定。关于如何使用Nmap的一些选项,将在后面章节介绍。

    由于IP地址分为IPv4和IPv6两类。所以,使用Nmap工具扫描单个目标时,指定的IP地址可以是IPv4,也可以是IPv6。上例中指定扫描的目标是使用IPv4类地址。如果用户指定扫描目标地址是IPv6类地址时,需要使用-6选项。例如,扫描IP地址为fe80::20c:29ff:fe31:217的目标主机,则执行命令如下所示:

    [root@router ~]# nmap -6 fe80::20c:29ff:fe31:217


    执行以上命令后,将显示如下所示的信息:

    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-06 15:07 CST
    Nmap scan report for fe80::20c:29ff:fe31:217
    Host is up (0.000017s latency).
    Not shown: 995 closed ports
    PORT  STATE SERVICE
    22/tcp  open  ssh
    23/tcp  open  telnet
    111/tcp open  rpcbind
    139/tcp open  netbios-ssn
    445/tcp open  microsoft-ds
    Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds


    从以上输出信息中,可以看到IPv6地址为fe80::20c:29ff:fe31:217的主机是活动的,并且开放了22、23、111、139、445端口。

    提示:如果要使用IPv6类地址作为目标时,则扫描主机和目标主机都必须支持IPv6协议。否则,无法实施扫描。

    Nmap扫描扫描多个目标
    Nmap可以用来同时扫描多个主机。当用户需要扫描多个目标时,可以在命令行中同时指定多个目标,每个目标之间使用空格分割。其中,语法格式如下所示:

    nmap [目标1 目标2 ...]


    【示例2-5】使用Nmap工具同时扫描主机192.168.1.1、192.168.1.101和192.168.1.105。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.1 192.168.1.101 192.168.1.105
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:07 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.00094s latency).
    Not shown: 997 closed ports
    PORT       STATE SERVICE
    80/tcp             open  http
    1900/tcp          open  upnp
    49152/tcp         open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.101)
    Host is up (0.0060s latency).
    All 1000 scanned ports on localhost (192.168.1.101) are closed
    MAC Address: 14:F6:5A:CE:EE:2A (Xiaomi)
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00038s latency).
    Not shown: 995 closed ports
    PORT   STATE SERVICE
    21/tcp      open  ftp
    22/tcp       open  ssh
    23/tcp      open  telnet
    111/tcp    open  rpcbind
    445/tcp    open  microsoft-ds
    MAC Address: 00:0C:29:31:02:17 (VMware)
    Nmap done: 3 IP addresses (3 hosts up) scanned in 1.00 seconds


    从以上输出信息,可以看到共扫描了三台主机,并且依次显示了每台主机的扫描结果。在以上信息中,将扫描的每台主机地址行已加粗,方便用户了解其扫描结果。下面分别介绍这三台主机的扫描结果,如下所示:

    q  192.168.1.1:从输出信息中可以看到该主机开启了三个端口,MAC地址为14:E6:E4:84:23:7A。根据MAC地址后面括号中的信息,可以推断出该主机是一个Tp-link路由器。
    q  192.168.1.101:从输出信息中,可以看到该主机上前1000个端口是关闭的。但是,可以看到该主机的MAC地址为14:F6:5A:CE:EE:2A,设备类型为Xiaomi。由此可以判断出,该主机是一个小米手机设备。
    q  192.168.1.105:从输出信息中,可以看到该主机上995个端口是关闭的,五个端口是开启的。其中,MAC地址为00:0C:29:31:02:17,而且是一台VMware(虚拟机)操作系统。


    提示:当用户同时指定扫描的目标太多时,可以使用简化符号来获取扫描结果。其中,目标地址之间使用逗号(,)分割。例如,同时扫描以上三台主机,则可以使用如下命令:

    nmap 192.168.1.1,101,105


    Nmap扫描扫描一个目标列表
    当用户有大量主机需要扫描时,可以将这些主机的IP地址(或主机名)写入到一个文本文件中。然后,使用Nmap工具进行扫描。这样避免在命令行中手工输入目标。其中,语法格式如下所示:

    nmap -iL [IP地址列表文件]


    以上语法中的-iL选项,就是用来从IP地址列表文件中提取所有地址的。其中,IP地址列表文件中包含了一列被扫描的主机IP地址。并且,在IP地址列表文件中的每个条目必须使用空格、Tab键或换行符分割。

    【示例2-6】使用Nmap工具扫描list.txt文件中所有的主机。具体操作步骤如下所示:

    (1)创建list.txt文本文件,并将扫描的主机IP地址写入到该文本文件中。如下所示:

    root@localhost:~# vi list.txt
    192.168.1.1
    192.168.1.100
    192.168.1.101
    192.168.1.102
    192.168.1.103
    192.168.1.104
    192.168.1.105


    以上就是在list.txt文件中,指定将要扫描的目标地址。

    (2)扫描list.txt文件中指定的所有主机。执行命令如下所示:

    root@localhost:~# nmap -iL list.txt
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-06 10:53 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.00045s latency).
    Not shown: 997 closed ports
    PORT       STATE SERVICE
    80/tcp             open  http
    1900/tcp          open  upnp
    49152/tcp         open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.100)
    Host is up (0.00023s latency).
    Not shown: 986 closed ports
    PORT  STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1033/tcp open  netinfo
    1034/tcp open  zincite-a
    1035/tcp open  multidropper
    1038/tcp open  mtqp
    1040/tcp open  netsaint
    1075/tcp open  rdrmshc
    2869/tcp open  icslap
    5357/tcp open  wsdapi
    MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
    Nmap scan report for localhost (192.168.1.103)
    Host is up (0.00028s latency).
    Not shown: 977 closed ports
    PORT STATE SERVICE
    21/tcp   open  ftp
    22/tcp   open  ssh
    23/tcp   open  telnet
    25/tcp   open  smtp
    53/tcp   open  domain
    80/tcp   open  http
    111/tcp  open  rpcbind
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    512/tcp  open  exec
    513/tcp  open  login
    514/tcp  open  shell
    1099/tcp open  rmiregistry
    1524/tcp open  ingreslock
    2049/tcp open  nfs
    2121/tcp open  ccproxy-ftp
    3306/tcp open  mysql
    5432/tcp open  postgresql
    5900/tcp open  vnc
    6000/tcp open  X11
    6667/tcp open  irc
    8009/tcp open  ajp13
    8180/tcp open  unknown
    MAC Address: 00:0C:29:F8:2B:38 (VMware)
    Nmap scan report for localhost (192.168.1.104)
    Host is up (0.00028s latency).
    Not shown: 997 closed ports
    PORT STATE SERVICE
    22/tcp  open  ssh
    80/tcp  open  http
    443/tcp open  https
    MAC Address: 00:0C:29:C3:1F:D7 (VMware)
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00034s latency).
    Not shown: 995 closed ports
    PORT STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    23/tcp  open  telnet
    111/tcp open  rpcbind
    445/tcp open  microsoft-ds
    MAC Address: 00:0C:29:31:02:17 (VMware)
    Nmap scan report for localhost (192.168.1.102)
    Host is up (0.0000080s latency).
    Not shown: 998 closed ports
    PORT  STATE SERVICE
    80/tcp   open  http
    9876/tcp open  sd
    Nmap done: 7 IP addresses (6 hosts up) scanned in 1.05 seconds


    从输出的信息中,可以看到依次扫描了list.txt文件中的每台主机,并且显示了每台主机的扫描结果。从最后一行信息,可以看到共扫描了七个IP地址。其中,六个主机是活动的,并且整个扫描过程共用了1.05秒。

    Nmap扫描扫描随机目标
    Nmap工具提供了一个-iR选项,可以用来选择随机的互联网主机来扫描。Nmap工具将会随机的生成指定数量的目标进行扫描。其中,语法格式如下所示:

    nmap -iR [主机数量]


    【示例2-7】使用Nmap工具随机选择两个目标主机进行扫描。执行命令如下所示:

    root@localhost:~# nmap -iR 2
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-06 11:07 CST
    Nmap scan report for suncokret.vguk.hr (161.53.173.3)
    Host is up (0.43s latency).
    Not shown: 984 closed ports
    PORT   STATE  SERVICE
    21/tcp   open     ftp
    25/tcp   open     smtp
    53/tcp   open     domain
    80/tcp   open     http
    81/tcp   open     hosts2-ns
    110/tcp  open     pop3
    135/tcp  filtered msrpc
    139/tcp  filtered netbios-ssn
    143/tcp  open     imap
    443/tcp  open     https
    444/tcp  open     snpp
    445/tcp  filtered microsoft-ds
    593/tcp  filtered http-rpc-epmap
    2002/tcp open     globe
    3306/tcp open     mysql
    4444/tcp filtered krb524
    Nmap done: 3 IP addresses (1 host up) scanned in 29.64 seconds


    从输出信息中,可以看到Nmap工具随机生成了三个IP地址。但是,只有主机161.53.137.3是活动的,并且显示了对该主机的扫描结果。

    提示:一般情况下,不建议用户实施随机扫描。除非,你是在做一个研究项目。否则,经常实施随机扫描可能会给自己的互联网服务提供商带来麻烦。

    Nmap扫描指定扫描范围
    当用户不确定扫描主机的地址时,可以通过指定一个地址范围实施扫描。通过指定扫描范围,从扫描结果中可以获取到活动的主机及相关信息。用户在指定一个扫描范围时,还可以排除单个或多个扫描目标。本节将介绍使用Nmap工具实施指定地址范围的扫描方法。

    Nmap扫描IP地址范围扫描
    用户在指定扫描范围时,可以通过IP地址或子网的方式来实现。下面将介绍使用IP地址指定扫描范围的方法。其中,语法格式如下所示:

    nmap [IP地址范围]


    在以上语法中,IP地址范围之间使用短连字符(-)。

    【示例2-8】使用Nmap工具扫描192.168.1.1到100之间的所有主机。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.1-100
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:40 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.0014s latency).
    Not shown: 997 closed ports
    PORT    STATE SERVICE
    80/tcp    open  http
    1900/tcp  open  upnp
    49152/tcp open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.100)
    Host is up (0.00025s latency).
    Not shown: 986 closed ports
    PORT   STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1033/tcp open  netinfo
    1034/tcp open  zincite-a
    1035/tcp open  multidropper
    1037/tcp open  ams
    1039/tcp open  sbl
    1041/tcp open  danf-ak2
    2869/tcp open  icslap
    5357/tcp open  wsdapi
    MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
    Nmap done: 100 IP addresses (2 hosts up) scanned in 3.34 seconds


    从以上输出信息中,可以看到192.168.1-100之间,只有192.168.1.1和192.168.1.100两台主机是活动的。

    用户也可以指定扫描多个网络/子网范围的主机。例如,扫描C类IP网络192.168.1.*到192.168.100.*之间的所有主机。则执行命令如下所示:

    nmap 192.168.1-100.*


    以上命令中星号(*)是一个通配符,表示0-255之间所有有效的主机。

    Nmap扫描整个子网扫描
    Nmap也可以使用CIDR(无类别域间路由,Classless Inter-Domain Routing)格式来扫描整个子网。CIDR将多个IP网络结合在一起,使用一种无类别的域际路由选择算法,可以减少由核心路由器运载的路由选择信息的数量。其中,语法格式如下所示:

    nmap [CIDR格式的网络地址]


    以上语法中的CIDR是由网络地址和子网掩码两部分组成,并且中间使用斜杠(/)分割。其中,CIDR和子网掩码对照表如表2-1所示。

    表2-3  CIDR对照表

    【示例2-9】使用Nmap扫描192.168.1.1/24整个子网中的所有主机。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.1/24
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:41 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.00064s latency).
    Not shown: 997 closed ports
    PORT    STATE SERVICE
    80/tcp    open  http
    1900/tcp  open  upnp
    49152/tcp open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.100)
    Host is up (0.00022s latency).
    Not shown: 986 closed ports
    PORT   STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1033/tcp open  netinfo
    2869/tcp open  icslap
    5357/tcp open  wsdapi
    MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
    Nmap scan report for localhost (192.168.1.101)
    Host is up (0.0041s latency).
    All 1000 scanned ports on localhost (192.168.1.101) are closed
    MAC Address: 14:F6:5A:CE:EE:2A (Xiaomi)
    Nmap scan report for localhost (192.168.1.103)
    Host is up (0.00027s latency).
    Not shown: 977 closed ports
    PORT   STATE SERVICE
    21/tcp   open  ftp
    22/tcp   open  ssh
    23/tcp   open  telnet
    25/tcp   open  smtp
    53/tcp   open  domain
    80/tcp   open  http
    111/tcp  open  rpcbind
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    512/tcp  open  exec
    513/tcp  open  login
    ......
    49157/tcp open  unknown
    MAC Address: 00:0C:29:DE:7E:04 (VMware)
    Nmap scan report for localhost (192.168.1.102)
    Host is up (0.0000040s latency).
    Not shown: 998 closed ports
    PORT   STATE SERVICE
    80/tcp   open  http
    9876/tcp open  sd
    Nmap done: 256 IP addresses (9 hosts up) scanned in 3.39 seconds


    从输出信息中,可以看到共扫描了256个地址。其中,九台主机是活动的,并且共用时间为3.39秒。由于章节的原因,以上只列举了五台主机的扫描结果。其中,中间部分内容,使用省略号(......)代替了。

    Nmap扫描排除扫描目标
    当用户指定一个扫描范围时(如局域网),在该范围内可能会包括自己的主机,或者是自己搭建的一些服务等。这时,用户为了安全及节约时间,可能不希望扫描这些主机。此时,用户就可以使用--exclude命令将这些主机排除。其中,排除单个目标的语法格式如下所示:

    nmap [目标] --exclude [目标]


    【示例2-10】扫描192.168.1.1/24网络内除192.168.1.101以外的所有主机。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.1/24 --exclude 192.168.1.101
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:44 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.00068s latency).
    Not shown: 997 closed ports
    PORT    STATE SERVICE
    80/tcp    open  http
    1900/tcp  open  upnp
    49152/tcp open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.100)
    Host is up (0.00025s latency).
    Not shown: 986 closed ports
    PORT   STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1033/tcp open  netinfo
    1034/tcp open  zincite-a
    1035/tcp open  multidropper
    1037/tcp open  ams
    1039/tcp open  sbl
    1041/tcp open  danf-ak2
    2869/tcp open  icslap
    5357/tcp open  wsdapi
    MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
    Nmap scan report for localhost (192.168.1.103)
    Host is up (0.00036s latency).
    Not shown: 977 closed ports
    PORT   STATE SERVICE
    21/tcp   open  ftp
    22/tcp   open  ssh
    23/tcp   open  telnet
    25/tcp   open  smtp
    53/tcp   open  domain
    80/tcp   open  http
    111/tcp  open  rpcbind
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    512/tcp  open  exec
    513/tcp  open  login
    514/tcp  open  shell
    ......
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00026s latency).
    Not shown: 995 closed ports
    PORT STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    23/tcp  open  telnet
    111/tcp open  rpcbind
    445/tcp open  microsoft-ds
    MAC Address: 00:0C:29:31:02:17 (VMware)
     
    Nmap scan report for localhost (192.168.1.106)
    Host is up (0.00039s latency).
    Not shown: 996 closed ports
    PORT  STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    1025/tcp open  NFS-or-IIS
    MAC Address: 00:0C:29:C7:6A:2A (VMware)
    ......
    Nmap scan report for localhost (192.168.1.102)
    Host is up (0.0000030s latency).
    Not shown: 998 closed ports
    PORT   STATE SERVICE
    80/tcp   open  http
    9876/tcp open  sd
    Nmap done: 255 IP addresses (8 hosts up) scanned in 3.05 seconds


    从输出信息中,可以看到共扫描了255个IP地址。其中,八个主机是活动的。由于章节的原因,中间省略了一部分内容。

    用户使用--exclude选项,可以指定排除单个主机、范围或者整个网络块(使用CIDR格式)。例如,扫描192.168.1.1/24网络内,除192.168.1.100-192.168.1.103之外的所有主机。则执行命令如下所示:

    root@localhost:~# nmap 192.168.1.1/24 --exclude 192.168.1.100-103
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:45 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.0012s latency).
    Not shown: 997 closed ports
    PORT    STATE SERVICE
    80/tcp    open  http
    1900/tcp  open  upnp
    49152/tcp open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.104)
    Host is up (0.00028s latency).
    Not shown: 997 closed ports
    PORT  STATE SERVICE
    22/tcp  open  ssh
    80/tcp  open  http
    443/tcp open  https
    MAC Address: 00:0C:29:C3:1F:D7 (VMware)
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00019s latency).
    Not shown: 995 closed ports
    PORT  STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    23/tcp  open  telnet
    111/tcp open  rpcbind
    445/tcp open  microsoft-ds
    MAC Address: 00:0C:29:31:02:17 (VMware)
    Nmap scan report for localhost (192.168.1.106)
    Host is up (0.00017s latency).
    Not shown: 996 closed ports
    PORT   STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    1025/tcp open  NFS-or-IIS
    MAC Address: 00:0C:29:C7:6A:2A (VMware)
    Nmap scan report for localhost (192.168.1.107)
    Host is up (0.0014s latency).
    Not shown: 984 closed ports
    PORT    STATE SERVICE
    135/tcp   open  msrpc
    139/tcp   open  netbios-ssn
    443/tcp   open  https
    445/tcp   open  microsoft-ds
    554/tcp   open  rtsp
    902/tcp   open  iss-realsecure
    912/tcp   open  apex-mesh
    2869/tcp  open  icslap
    5357/tcp  open  wsdapi
    10243/tcp open  unknown
    49152/tcp open  unknown
    49153/tcp open  unknown
    49154/tcp open  unknown
    49155/tcp open  unknown
    49156/tcp open  unknown
    49157/tcp open  unknown
    MAC Address: 00:0C:29:DE:7E:04 (VMware)
    Nmap done: 252 IP addresses (5 hosts up) scanned in 2.27 seconds


    从以上输出信息中,可以看到共扫描了252个主机。其中,有五个主机是活动的,其地址分别是192.168.1.1、192.168.1.104、192.168.1.105、192.168.1.106和192.168.1.107。根据输出的信息,可以发现没有对192.168.1.100-103之间主机进行扫描。

    Nmap扫描排除列表中的目标
    当用户排除扫描的目标很多时,也可以将这些目标主机的IP地址写入到一个文本文件中。然后,使用--excludefile选项来指定排除扫描的目标。其中,排除扫描列表中目标的语法格式如下所示:

    nmap [目标] --excludefile [目标列表]


    【示例2-11】使用Nmap扫描192.168.1.0/24网络内主机,但是排除list.txt文件列表中指定的目标。具体操作步骤如下所示:

    (1)创建list.txt文件,并写入要排除扫描目标的IP地址。如下所示:

    root@localhost:~#vi list.txt
    192.168.102
    192.168.1.103
    192.168.1.104
    192.168.1.105


    在以上列表文件中,指定排除扫描以上四个IP地址的主机。

    (2)实施扫描。执行命令如下所示:

    root@localhost:~# nmap 192.168.1.0/24 --excludefile list.txt
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-05 19:46 CST
    Nmap scan report for localhost (192.168.1.1)
    Host is up (0.0014s latency).
    Not shown: 997 closed ports
    PORT   STATE SERVICE
    80/tcp    open  http
    1900/tcp  open  upnp
    49152/tcp open  unknown
    MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
    Nmap scan report for localhost (192.168.1.100)
    Host is up (0.00021s latency).
    Not shown: 986 closed ports
    PORT   STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1033/tcp open  netinfo
    1034/tcp open  zincite-a
    MAC Address: 00:E0:1C:3C:18:79 (Cradlepoint)
    Nmap scan report for localhost (192.168.1.106)
    Host is up (0.00014s latency).
    Not shown: 996 closed ports
    PORT  STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    445/tcp  open  microsoft-ds
    1025/tcp open  NFS-or-IIS
    MAC Address: 00:0C:29:C7:6A:2A (VMware)
    Nmap scan report for localhost (192.168.1.107)
    Host is up (0.0010s latency).
    Not shown: 984 closed ports
    PORT    STATE SERVICE
    135/tcp   open  msrpc
    139/tcp   open  netbios-ssn
    443/tcp   open  https
    445/tcp   open  microsoft-ds
    554/tcp   open  rtsp
    902/tcp   open  iss-realsecure
    912/tcp   open  apex-mesh
    2869/tcp  open  icslap
    5357/tcp  open  wsdapi
    10243/tcp open  unknown
    49152/tcp open  unknown
    49153/tcp open  unknown
    MAC Address: 00:0C:29:DE:7E:04 (VMware)
    Nmap scan report for localhost (192.168.1.102)
    Host is up (0.0000030s latency).
    Not shown: 998 closed ports
    PORT   STATE SERVICE
    80/tcp   open  http
    9876/tcp open  sd
    Nmap done: 253 IP addresses (5 hosts up) scanned in 3.31 seconds


    从以上输出信息中,可以看到扫描的所有目标中,共有五台主机是活动的。

    Nmap扫描实施全面扫描
    在使用Nmap工具实施扫描时,使用不同的选项,则扫描结果不同。用户可以使用不同的选项,单独扫描目标主机上的端口、应用程序版本或操作系统类型等。但是,大部分人又不太喜欢记这些选项。这时候,用户只需要记一个选项-A即可。该选项可以对目标主机实施全面扫描,扫描结果中包括各种类型的信息。其中,实施全面扫描的语法格式如下所示:

    nmap -A [目标]


    【示例2-12】使用Nmap工具对目标主机192.168.1.105实施全面扫描。则执行命令如下所示:

    root@localhost:~# nmap -A 192.168.1.105
    Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-06 15:20 CST
    Nmap scan report for localhost (192.168.1.105)
    Host is up (0.00028s latency).
    Not shown: 995 closed ports
    PORT  STATE SERVICE  VERSION
    21/tcp  open  ftp         vsftpd 2.2.2                                                 #FTP服务版本为2.2.2,供应商是Vsftpd
    | ftp-anon: Anonymous FTP login allowed (FTP code 230)                           #允许匿名登录
    |_drwxr-xr-x    2 14       0            4096 Apr 03 06:10 pub  #FTP服务的根目录为pub
    22/tcp  open  ssh         OpenSSH 5.3 (protocol 2.0)                            #SSH服务版本是5.3,供应商是OpenSSH
    | ssh-hostkey:                                                                                                #SSH服务密钥
    |   1024 83:9f:d0:8e:29:3c:7f:d9:11:da:a8:bb:b5:5a:4d:69 (DSA)
    |_  2048 2e:ea:ee:63:03:fd:9c:ae:39:9b:4c:e0:49:a9:8f:5d (RSA)
    23/tcp  open  telnet      Linux telnetd                                                #Telnet服务
    111/tcp open  rpcbind     2-4 (RPC #100000)
    | rpcinfo:                                                                                                         #RPC详细信息
    |   program version     port/proto     service
    |   100000  2,3,4        111/tcp             rpcbind
    |   100000  2,3,4         111/udp                    rpcbind
    |   100024  1            34525/tcp          status
    |_  100024  1          51866/udp     status
    445/tcp open  netbios-ssn Samba smbd 3.X (workgroup: MYGROUP)#Samba服务版本为3.X,供应商为smbd
    MAC Address: 00:0C:29:31:02:17 (VMware)                                          #目标主机的MAC地址
    Device type: general purpose                                                                    #设备类型
    Running: Linux 2.6.X|3.X                                                                            #正在运行的系统
    OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3     #操作系统中央处理单元
    OS details: Linux 2.6.32 - 3.10                                                                   #操作系统详细信息
    Network Distance: 1 hop                                                                             #网络距离
    Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel           #服务信息
    Host script results:
    | smb-os-discovery:                                                                                              #SMB操作系统发现
    |   OS: Unix (Samba 3.6.9-151.el6)                                                                  #操作系统为Unix,Samba版本为3.6.9
    |   Computer name: router                                                                        #计算机名
    |   NetBIOS computer name:                                                                            #NetBIOS计算机名
    |   Domain name:                                                                                      #域名
    |   FQDN: router                                                                                          #完全合格域名(FQDN)
    |_  System time: 2015-05-06T15:20:28+08:00                                              #系统时间
    | smb-security-mode:
    |   Account that was used for smb scripts: <blank>
    |   User-level authentication
    |   SMB Security: Challenge/response passwords supported
    |_  Message signing disabled (dangerous, but default)
    |_smbv2-enabled: Server doesn't support SMBv2 protocol
    TRACEROUTE
    HOP RTT     ADDRESS
    1   0.28 ms localhost (192.168.1.105)
    OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 13.51 seconds


    从以上输出的信息,可以明显看出比前面例子扫描结果更详细。在以上输出信息中,可以看到目标主机上开启的端口、服务器、版本、操作系统版本、内核、系统类型等。根据分析输出的信息,可知目标主机上运行了FTP、SSH、Telnet等服务,并且可以看到各服务的版本及权限信息。而且,还可以知道目标主机的操作系统是Linux,内核版本为2.6.32等。

     

    其他

     nmap localhost    #查看主机当前开放的端口
     nmap -p 1024-65535 localhost    #查看主机端口(1024-65535)中开放的端口
     nmap -PS 192.168.21.163        #探测目标主机开放的端口
     nmap -PS22,80,3306  192.168.21.163    #探测所列出的目标主机端口
     nmap -O 192.168.21.163    #探测目标主机操作系统类型
     nmap -A 192.168.21.163    #探测目标主机操作系统类型

     

     

    https://www.cnblogs.com/Acewipe/p/7589022.html

     如期而至!

     nmap这个渗透工具一般用在渗透的准备阶段,用于收集用户的信息,为后面的渗透做情报支持

    本教程分为14个小模块,分别为:

    1.nmap的安装和扫描的基本概念

    2.如何找到网络上的设备

    3.端口扫描概要

    4.端口扫面技术和算法

    5.优化nmap的性能

    6.服务和应用程序版本的识别

    7.远程操作系统的识别

    8.nmap的脚本引擎

    9.识别并绕过防火墙和IDS

    10.防御nmap扫描

    11.nmap的图形化程序zenmap

    12.格式化nmap的输出内容

    13.理解和设置nmap的数据文件

    14.总结

    一.nmap的安装和扫描的基本概念

    首先对于nmap的安装,可以自行百度,当然kali linux是内置了nmap的,只要在命令行下输入nmap即可使用,参数-version可以查看当前nmap的版本,如下图

    然后对于扫描简单的来说其实就是四个动作

    1.统一沟通语言  (TCP/IP协议)

    2.发出刺激           (ICMP报文头)

    3.受到刺激的反馈  (ICMP的反馈)

    4通过比对刺激和反馈完成扫描

    二.如何找到网络上的设备

    nmap的基本输入:

    将你要扫描的设备地址告诉nmap可以通过下面的方法实现

    统一格式:nmap  [扫描类型]  [设置]  {设备地址}

    其中设备地址(主机名,IP地址,网段等)可以通过以下方法

    1.-iL <文件名>          通过文件输入地址

    2.-iR <IP地址数目>

    3.--exclude <exclude_file> :排出文件中的地址

    4.直接输入IP或网段(最常用)

    上面是nmap两个简单扫描例子,仅反馈了一些简单的信息,但是对于其他的数据收集,nmap里面有详细的参数可以实现,下面将开始讲解一些常用参数的使用:

    扫描参数:

    1.-sL   不做扫描,仅完成DNS解析和网址的转换

    2.-sP    默认发ICMP echo请求和TCP的ACK请求(80端口)       

    3.-PN   不用ping

    4.-Ps    <端口号列表>    发TCP协议SYN标记的空包(80端口)

    5.-PA    <端口号列表>    发TCP协议ACK标记的空包(80端口)   

    6.-PU    <端口号列表>    (31338端口)

    7.-PE -PP -PM

    8.-PO <协议列表>

    9.-PR  (ARP ping)

    设置参数:

    --traceroute
    -n(不要做DNS解析)
    -R(DNS解析所有的地址,默认不解析不在线的IP)
    -system-dns(使用系统DNS)
    --dns-servers <server1>[,<server2>[,…]](使用其他DNS)

    三.端口扫描概要

    1.端口扫描:

    -p <端口号列表>

    2.端口状态:

      1.Open,端口开启,有程序监听此端口
      2.Closed,端口关闭,数据能到达主机,但是没有程序监听此端口。
      3.Filtered,数据未能到达主机。
      4.Unfiltered,数据能到达主机,但是Nmap无法判断端口开启还是关闭。
      5.Open|filtered,端口没有返回值,主要出现在UDP,IP,FIN,NULL和Xmas扫描
      6.Closed|filtered,只出现在IP ID idle 扫描。

    四.端口扫面技术和算法

    1.TCP标志位扫描

     -sS   TCP SYN扫描(匿名扫描,默认不加类型,需要root权限,扫描速度快)

    -sT   TCP全连接扫描(不需要root权限,TCP扫描的默认模式,端口状态和SYN相同,耗时长)

    2.UDP扫描

    -sU      (使用-sUV能增加扫描的准确性)

    没有UDP端口开放

    3.协议扫描

    -sO     获取服务器支持哪些协议

    常用的扫描一般就上面几种,其他的暂时不讲解,需要了解的可以自己去百度或者等我的nmap进阶教程整理出来。

    五.优化nmap的性能

    -F (快速扫描100个常用端口)

    其他的打算在nmap进阶教程再讲解

    六.服务和应用程序版本的识别

    有时候nmap探测出来的服务和版本信息并不是非常准确,不过我们可以通过加参数的方式使其精确

    1.-sV:探测开放端口的服务和版本信息
    2.--version-intensity<0-9>:设置探测深度
    3.--version-light:相当于0-2
    4.--version-all:相当于0-9
    5.--version-trace:显示版本扫描详情(用于调试)

     

    七.远程操作系统的识别

    1.-O:启动操作系统识别。
    2.--osscan-limit:限定只识别有端口开放的主机,提高-O和-A参数时的扫描速度。
    3.--osscan-guest<OS>:给NMAP建议的操作系统。类似于sqlmap的参数。
    4.--max-os-tries <次数>:设置重试次数(默认为5),提高准确性或者提高速度。

     

    八.nmap的脚本引擎

    九.识别并绕过防火墙和IDS

    十.防御nmap扫描

    十一.nmap的图形化程序zenmap

    十二.格式化nmap的输出内容

    十三.理解和设置nmap的数据文件

    十四.总结

     基础简单的nmap教程,基本使用参数就这些,不要看只有几个,组合起来其实还是比较多的,本教程暂时到这里,还有没有讲解的模块打算在下一篇的nmap进阶使用教程在讲解

    展开全文
  • nmap扫描主机参数详解

    千次阅读 2020-03-03 23:12:52
    简介:Nmap(Network Mapper) 是一款支持各种操作系统的开源网络扫描工具。主要用来进行主机发现、端口扫描,并通过端口扫描推断运行系统以及运行软件版本。 -sL 简单扫描列表目标 -sP: Ping Scan - disable port ...

    Nmap简介

    Nmap(Network Mapper) 是一款支持各种操作系统的开源网络扫描工具。主要用来进行主机发现、端口扫描,并通过端口扫描推断运行系统以及运行软件版本。
    -sL 简单扫描列表目标
    -sP: Ping Scan - disable port scan
    -n 取消域名解析
    发送4种不同类型的包去探测,只要收到其中任何一种返回包,就可以判定主机是打开的
    ICMP协议 请求回显包
    TCP协议 SYN请求包
    TCP协议 ACK请求包
    ICMP协议 timestamp请求包
    -sS (TCP SYN扫描)
    半开放扫描,它只发送一个SYN报文然后等待回应,若SYN/ACK表示端口在监听 (开放),而 RST (复位)表示没有监听者。因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN

    -sT (TCP connect()扫描)
    CPConnect()扫描是默认的TCP扫描,Nmap通过创建connect() 系统调用要求操作系统和目标机以及端口建立连接,而不像其它扫描类型直接发送原始报文。

    -sU (UDP扫描)
    UDP扫描发送空的(没有数据)UDP报头到每个目标端口。 如果返回ICMP端口不可到达错误(类型3,代码3), 该端口是closed(关闭的)。 其它ICMP不可到达错误(类型3, 代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。 偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。 如果几次重试后还没有响应,该端口就被认为是open|filtered(开放|被过滤的)。

    -sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)
    用来区分open(开放的)和 closed(关闭的)端口。利用了当端口关闭时,任何不包含SYN,RST,或者ACK位的报文会导致 一个RST返回,而当端口开放时,应该没有任何响应。

    -sA (TCP ACK扫描)
    ACK扫描探测报文只设置ACK标志位(除非您使用 --scanflags)。当扫描未被过滤的系统时, open(开放的)和closed(关闭的) 端口 都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的),意思是 ACK报文不能到达,但至于它们是open(开放的)或者 closed(关闭的) 无法确定。不响应的端口 或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)。

    -Pn 跳过第一步,直接开始端口扫描
    nmap默认扫描过程是
    主机是否开机
    端口扫描
    服务探测

    Nmap常用命令

    1.扫描单个主机:nmap 192.168.56.133
    2.扫描整个子网:nmap 192.168.56.0/24(24表示子网掩码位数)
    3.扫描某个范围:nmap 192.168.56.1-110
    4.扫描除过某一个ip外的所有子网主机

    nmap 172.16.96.1/24-exclude 172.16.96.1
    

    5.扫描特定主机上的端口

    nmap -p80,443,22,23 192.168.56.111
    

    6.OS侦测
    -O: 启用操作系统检测。
    -osscan-guess; --fuzzy :推测操作系统检测结果

     nmap -O --osscan-guess 172.16.96.205
    

    Nmap实现原理分析

    Nmap功能的实现基于TCP/IP协议,下面将曾从协议层面分析Nmap的实现原理。

    1. 主机发现

      主机发现通常在端口扫描以前,确定目标主机是否在线,也可以单独运行构建局域网拓扑。Nmap主机发现的实现分为两个阶段:地址解析阶段+实际探测阶段。地址解析主要负责从主机表达式中解析出目标主机地址,将之存放在hostbatch中,并配置该主机所需的路由、网口、MAC地址、源IP等信息。实际发现分别对解析出来的目标主机,进行实际的探测以及获取RDNS相关信息,例如采用ARP包发现局域网内主机是否在线。

      Nmap从主机表达式中获取主机地址,若取得的不是IP需要进行DNS解析,获取域名对应的IP。在实际主机发现过程中,根据所利用的协议的不同,分为以下两种:

      (1)利用IP层协议的方式:1)ARP方式。ARP方式一般用于Nmap对局域网进行扫描的情况下,因为基于RFC1918私有地址范围的网络中在一个给定的时间内绝大部分IP地址都是不使用的。当Nmap试图发送一个原始IP报文如ICMP回声请求时,操作系统必须确定对应于目标IP的硬件地址(需要使用ARP),所以直接放弃IP报文阶段,在得到ARP回应时就可以知道目标主机处于活跃状态。2)Ping扫描。仅仅进行ping扫描,发送ICMP数据包,将作出响应的主机进行打印。发扫描只是用来。

      (2)利用运输层协议的方式:1)发送SYN数据包、发送ACK数据包、发送UDP数据包。前两种分别利用了TCP三次握手中的第一次握手与第二次握手。让对方觉得正在试图建立一个TCP连接,从而做出回应,根据回应得出主机状态。UDP则是发送一个UDP数据包,得到端口不可达、主机网络不可达的回应。

    2. 端口扫描

      Nmap提供的10多种类型的端口扫描方法,如TCPSYN/ACK/FIN/Xmas/NULL/ Windows/Connect,FTP Bounce, Idle scan, UDP portunreachable/ UDP recv_from, IP protocol,SCTPINIT/SCTP COOKIE ECHO等扫描方式。这些技术全部是基于运输层与应用层的协议,原理都是基于网络数据包的特征或者网络编程API来判定端口的状态。以TCP SYN方式(Nmap的默认的TCP扫描方式)为例来简单地回顾端口扫描原理。

      第一种情况表示端口处于关闭状态,第二种情况表示端口处于开放状态。

      端口扫描功能会用到nmap-services数据库文件,此文件描述互联网上常见的注册端口对应的服务名称,以及该端口开放的频率和注释信息。端口开放的频率是Nmap项目组对互联网上大量的计算机进行扫描,统计出的每个端口开放的概率值,所以根据此概率可以很方便指定扫描覆盖的范围。

    3. 版本侦测

      扫描原理是服务指纹(或称签名)对比匹配。Nmap内部包含了几千种常见服务指纹的数据库(nmap-service-probes),对目标端口进行连接通信,产生当前端口的服务指纹,再与指纹数据库对比,寻找出匹配的服务类型。

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

    最后,引用一句王者荣耀游戏中达摩的一句话:走不通的路,就用拳头去打开。加油,路一定会通…

    展开全文
  • linux下nmap扫描使用命令

    千次阅读 2018-07-11 09:48:19
    nmap 192.168.**.0/24 扫描目标IP段,查看有哪些IP存活nmap 192.168.**.1-100 扫描从192.168.**.1-192.168.**.100有哪些IP存活nmap -iL ip_addr 扫描文件ip_addr文件中所存储的IP地址有哪些存活,并扫描存活IP主机所...

    nmap 192.168.**.0/24    扫描目标IP段,查看有哪些IP存活

    nmap 192.168.**.1-100     扫描从192.168.**.1-192.168.**.100有哪些IP存活

    nmap -iL ip_addr     扫描文件ip_addr文件中所存储的IP地址有哪些存活,并扫描存活IP主机所打开的端口(需要创建ip_addr文件,并将预扫描IP写入 ip_addr文件中。创建文件:touch ip_addr写入扫描的eth0网卡:eth0 "192.168.**.1 192.168.**.2"> ip_addr)

    nmap -p0-65535 192.168.**.1    扫描目标主机的所有端口(端口号从0-65535)

    nmap -p21,22,80,3389 192.168.**.1    扫描目标主机的部分端口

    nmap -O 192.168.**.1    扫描识别目标主机的系统(可以识别系统内核,但有时不能精确识别系统)

     

     

     

    展开全文
  • Nmap是Linux中一个流行的网络扫描工具。它出现了很多年,但目前为止依然是收集网络信息最好用工具之一。管理员可以使用Nmap可以发现网络中任何开发的端口和主机系统。 2.准备工作 大多数Linux发行版默认都安装了Nmap...

    1.介绍
    Nmap是Linux中一个流行的网络扫描工具。它出现了很多年,但目前为止依然是收集网络信息最好用工具之一。管理员可以使用Nmap可以发现网络中任何开发的端口和主机系统。
    2.准备工作
    大多数Linux发行版默认都安装了Nmap。所以使用以下命令检查你的系统中是否安装有该工具。(我们这里使用kali,他也是一个Linux发行版,里面内置了许多安全工具)
    nmap -version
    在这里插入图片描述3.操作指南
    Nmap最常见的用途是查找一个给定IP范围内的所以在线主机。完成此任务的默认命令需要一段时间来扫描完整网络,而时间长短取决于网络中存在的主机数量。
    在这里插入图片描述
    现在,我们尝试加快速度。“”-n“”开关告诉Nmap不执行IP地址的DNS解析,从而可加快速度。“”-T“”开关告诉我们Nmap按照何种速度进行操作。其中,T1是最慢,T5是最快的。“”–max-rtt-timeout“”选项指定等待响应的最大时间。
    在这里插入图片描述
    使用Nmap进行端口扫描能帮助我们发现在线的服务。例如发现FTP服务器,为此,使用以下命令进行端口扫描:
    在这里插入图片描述
    上述命令将列出所有已打开21端口的IP地址。其他扫描服务相同的方法,只需改扫描端口。

    展开全文
  • 1. Nmap命令参数解析: -sT TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。 -sS TCP 同步扫描 (TCP SYN),因为不必全部打开一个 ...
  • Nmap扫描命令使用详解

    2018-11-19 10:38:00
    Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描。通过上一章的介绍,用户可知Nmap工具可以分别对主机、端口、版本、操作系统等实施扫描。但是,在实施这些扫描工作之前,需要先简单了解下Nmap...
  • nmap命令扫描存活主机

    万次阅读 2019-09-24 12:04:15
    1、ping扫描扫描192.168.0.0/24网段上有哪些主机是存活的; [root@laolinux ~]#nmap -sP 192.168.0.0/24 Starting Nmap 4.11 (http://www.insecure.org/nmap/) at 2009-04-25 06:59 CSTHost laolinux (192.168...
  • nmap端口扫描命令

    千次阅读 2014-06-20 10:26:25
    nmap -PN -sS -p 21,23,25,53,80,110,143,443 +ip nmap扫描ftp,telnet,smtp,do'ma
  • 使用Nmap扫描目标主机

    2021-04-13 22:17:48
    端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并...目前在市面上主要的端口扫描工具是X_Scan、SuperScan、nmap,其中在这里主推的是nmap Nmap包含四项基本功能: 主机发现(Host .
  • nmap扫描内网主机

    千次阅读 2015-10-10 13:34:59
    扫描的工具使用的为nmap,这个工具的使用方法已经遍布全网。扫描的目的分为几步:1、确认主机是否存活;2、确认主机的操作系统;3、确认主机所运行的组件;4、针对组件上的版本的漏洞展开***。下面是操作步骤:1、...
  • 下面教大家在CentOS中用nmap查看主机端口:一、安装nmapyum install nmap -y二、使用nmapnmap localhost #查看主机当前开放的端口nmap -p 1024-65535 localhost#查看主机端口(1024-65535)中开放的端口nmap -PS 192....
  • python调用nmap扫描局域网存活主机和端口 文章目录python调用nmap扫描局域网存活主机和端口操作环境运行代码关键代码1. nm.scan(ip,port,args)2. 字典的解析运行结果参考文章 操作环境 python2 sudo apt install ...
  • nmap常用扫描命令

    2015-03-17 11:00:00
    下面介绍一下它的几种扫描命令。具体的还是得靠大家自己学习,因为实在太强大了。 1) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O &lt;target&gt; 这里的 &lt; target &gt;...
  • 使用前提:一般在本机上查看端口时,最好使用netstat,因为它安全又可靠,如果找不到端口,或不知道端口的作用是什么,尤其在/etc...语法:nmap扫描类型:主要有以下几种.-sT:扫描TCP数据包以建立的连接connect()-sS:扫描TC...
  • kali linux系统nmap扫描命令入门

    千次阅读 2019-01-27 23:04:11
    扫描命令 nmap 加网站或者ip地址 扫描网站或者ip的资料,显示开了什么端口等等资料 nmap -sn 192.168.0.0/24 使用nmap查看局域网的人使用什么设备 nmap -O XXXXXXXXXXX 使用nmap查看对方信息,系统版本,...
  • Nmap扫描常用命令 -Nmap scans common commands 1、扫描单个目标 nmapip 如:nmap 192.168.0.101 2、扫描多个目标 nmapip1ip2适用于目标地址不再同一个网段或在同一网段不连续且数量不多的情况。 如:...
  • 当然Nmap的功能远不止于此,本节教程我们将继续介绍部分Nmap常用的命令。靶机环境:owasp:192.168.152.154win7:192.168.152.130跳过Ping扫描阶段(无ping扫描)在默认情况下Nmap在进行其他扫描之前,Nmap都会对目标....
  • NMAP扫描

    2015-04-01 15:26:29
    NMAP扫描
  • Nmap 主机扫描的使用

    千次阅读 2020-05-01 22:18:54
    nmap 扫描参数众多,贵在多练。 扫描不止于扫描,还可以自己写脚本来拓展 nmap 的功能。
  • nmap扫描教程

    2016-03-24 18:59:09
    nmap扫描教程涵盖了目标主机输入,主机发现选项,扫描类型和强度,扫描结果的输入等等命令,各种命令集于一图,简单明了,无需再细读枯燥的文档说明
  • nmap扫描

    2019-01-28 10:49:29
    系统漏洞扫描之王-nmap  NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。他的图形化界面是Zenmap,分布式框架为Dnamp。...(1)是扫描主机端口,嗅探所提供的网络服务 (2)是探测一...
  • nmap主机发现常用命令

    千次阅读 2019-06-06 00:31:41
    文章目录一,nmap简单扫描二,对扫描结果详细输出三,nmap自定义端口扫描四,nmap的ping扫描,检测是为为活跃主机五,不解析域名扫描,来提速。七,扫描时排除指定目标六,扫描网段 一,nmap简单扫描 namp 目标ip 先...
  • Nmap主机端口扫描

    2020-04-19 20:30:40
    主机端口扫描 前言 一、nmap简介 Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪服务运行在那些连接端,并且推断哪个操作系统计算机运行(这是亦称fingerprinting)。 它是网络管理员必用...
  • nmap简单的扫描主机和端口

    千次阅读 2019-10-09 20:37:35
    扫描技术的作用:提高效率。...Nmap的介绍:Nmap有三个,一是探测一组主机是否在线,其次是扫描主机端口,嗅探所提供的网络服务,再就是可以推断主机所用的操作系统。 扫描主机 1.简单的扫描---该...
  • nmap命令扫描开放端口

    万次阅读 2019-06-14 18:54:53
    场景1: 使用树莓派但是没有显示器,这时候把树莓派接入局域网,通过使用nmap命令扫描局域网内的所有开放端口,分析扫描信息,从而得出树莓派的局域网ip,这时候就可以通过ip连上树莓派了 场景2: nmap常被黑客用于...
  • Nmap扫描和识别服务

    千次阅读 2019-10-30 15:04:32
    安装Nmap 如果你安装了Kali linux系统,那么这个工具是自带的。如果没有这个工具可以通过如下命令安装: # 更新系统 $ apt-get update ...使用 nmap 扫描主机 IP 使用方法:nmap 主机 IP 地址 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,040
精华内容 4,816
关键字:

nmap扫描主机命令