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

    简介:
    nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
    正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
    Nmap 常被跟评估系统漏洞软件 Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。

    CSDN: 有勇气的牛排 — 攻防
    官方博客:www.920vip.net

    作者原文章地址
    https://www.920vip.net/article/66

    Nmap介绍

    NMap(Network Mapper),是linux下的网络扫描嗅探工具包
    基本功能有三个:

    1. 扫描主机端口,嗅探所提供的网络服务。
    2. 是嗅探一组主机是否在线。
    3. 还可以推断主机所使用的的操作系统,到达主机经过的路由,系统以开放端口的软件版本。

    端口状态解析

    open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。 
    closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
    filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
    unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
    open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
    closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的
    

    安装命令

    yum install nmap -y
    

    1. Nmap命令参数解析:

    -sT    TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。    
    -sS    TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。    
    -sF,-sX,-sN    秘密 FIN 数据包扫描、圣诞树 (Xmas Tree)、空 (Null) 扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。    
    -sP    ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。    
    -sU    UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。    
    -sA    ACK 扫描,这项高级的扫描方法通常可以用来穿过防火墙。    
    -sW    滑动窗口扫描,非常类似于 ACK 的扫描。    
    -sR    RPC 扫描,和其它不同的端口扫描方法结合使用。    
    -b    FTP 反弹攻击 (bounce attack),连接到防火墙后面的一台 FTP 服务器做代理,接着进行端口扫描。
    -P0    在扫描之前,不 ping 主机。    
    -PT    扫描之前,使用 TCP ping 确定哪些主机正在运行。    
    -PS    对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。    
    -PI    设置这个选项,让 nmap 使用真正的 ping(ICMP echo 请求)来扫描目标主机是否正在运行。    
    -PB    这是默认的 ping 扫描选项。它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。    
    -O    这个选项激活对 TCP/IP 指纹特征 (fingerprinting) 的扫描,获得远程主机的标志,也就是操作系统类型。    
    -I    打开 nmap 的反向标志扫描功能。    
    -f    使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。    
    -v    冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。    
    -S <IP>    在一些情况下,nmap 可能无法确定你的源地址 (nmap 会告诉你)。在这种情况使用这个选项给出你的 IP 地址。    
    -g port    设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为 DNS(53) 或者 FTP-DATA(20) 的包通过和实现连接。显然,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护。    
    -oN    把扫描结果重定向到一个可读的文件 logfilename 中。    
    -oS    扫描结果输出到标准输出。    
    --host_timeout    设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。    
    --max_rtt_timeout    设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。    
    --min_rtt_timeout    设置 nmap 对每次探测至少等待你指定的时间,以毫秒为单位。    
    -M count    置进行 TCP connect() 扫描时,最多使用多少个套接字进行并行的扫描。
    

    2 实战演练

    2.1 -sP 扫描一个网段主机存活数

    nmap -sP 192.168.56.0/24
    

    -sP: ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。
    在这里插入图片描述

    2.2 -P0 跳过Ping探测

    有些主机关闭了ping检测,所以可以使用-P0跳过ping的探测,可以加快扫描速度

    nmap -PO 10.12.120.41
    

    -P0: 在扫描之前,不 ping 主机。
    在这里插入图片描述

    2.3 -sP 计算网段主机IP

    仅列出指定网段上的每台主机,不发送任何报文到目标主机

    nmap -sP 192.168.56.0/24
    

    -sP: ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。

    在这里插入图片描述

    2.4 -sP 扫描IP地址范围

    可以指定一个IP地址范围,扫描存活主机

    nmap -sP 192.168.56.1-10
    

    2.5 -PS 探测开放端口(SYN)

    探测目标主机开放的端口,可指定一个以逗号分隔的端口列表(如-PS22,443,80)

    nmap -PS22,80,443 192.168.56.7
    

    -PS: 对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。
    在这里插入图片描述

    2.6 -PU 探测开放端口(UDP)

    探测:开放端口、MAC地址
    探测目标主机开放的端口,可指定一个以逗号分隔的端口列表(如-PS22,443,80)

    nmap -PU 192.168.56.7
    

    在这里插入图片描述

    2.7 -sS SYN半开放扫描

    nmap -sS 192.168.56.7
    

    -sS: TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。
    案例1:
    在这里插入图片描述

    案例2:

    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:02 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.0028s latency).
    Not shown: 990 filtered ports
    PORT     STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    808/tcp  open  ccproxy-http
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    1433/tcp open  ms-sql-s
    2383/tcp open  ms-olap4
    9001/tcp open  tor-orport
    
    Nmap done: 1 IP address (1 host up) scanned in 4.82 seconds
    

    2.8 -sT 扫描开放TCP端口的设备

    扫描开放了TCP端口的设备
    指定主机:

    nmap -sT 192.168.56.7
    

    全网段

    nmap -sT 192.168.56.0/24
    

    在这里插入图片描述

    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:04 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.0021s latency).
    Not shown: 992 filtered 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
    1433/tcp open  ms-sql-s
    2383/tcp open  ms-olap4
    
    Nmap done: 1 IP address (1 host up) scanned in 9.42 seconds
    

    2.9 -sU 扫描目标主机开放了哪些UDP端口

    nmap -sU 192.168.56.7
    

    -sU: UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。

    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:10 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.00091s latency).
    All 1000 scanned ports on 10.12.120.41 are open|filtered
    
    Nmap done: 1 IP address (1 host up) scanned in 21.55 seconds
    

    2.10 -s0 探测 目标主机支持哪些 IP协议

    nmap -sO 192.168.56.7
    
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:12 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.00018s latency).
    Not shown: 252 filtered protocols
    PROTOCOL STATE         SERVICE
    1        open          icmp
    6        open          tcp
    17       open|filtered udp
    47       open|filtered gre
    
    Nmap done: 1 IP address (1 host up) scanned in 1.42 seconds
    

    2.11 -0 扫描探测 目标主机 操作系统

    nmap -O 192.168.56.7
    

    在这里插入图片描述

    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:17 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.0028s latency).
    Not shown: 992 filtered ports
    PORT     STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    808/tcp  open  ccproxy-http
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    2383/tcp open  ms-olap4
    Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
    Device type: general purpose|specialized
    Running: Microsoft Windows XP|7|2012, VMware Player
    OS CPE: cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_server_2012 cpe:/a:vmware:player
    OS details: Microsoft Windows XP SP3 or Windows 7 or Windows Server 2012, VMware Player virtual NAT device
    
    OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 10.57 seconds
    

    2.12 -sV 扫描目标主机服务版本号

    nmap -sV 192.168.56.7
    
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:18 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.0016s latency).
    Not shown: 991 filtered ports
    PORT     STATE SERVICE         VERSION
    135/tcp  open  msrpc           Microsoft Windows RPC
    139/tcp  open  netbios-ssn     Microsoft Windows netbios-ssn
    443/tcp  open  ssl/https       VMware Workstation SOAP API 15.1.0
    445/tcp  open  microsoft-ds?
    808/tcp  open  mc-nmf          .NET Message Framing
    902/tcp  open  ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
    912/tcp  open  vmware-auth     VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
    2383/tcp open  ms-olap4?
    9001/tcp open  http            Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
    Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:vmware:Workstation:15.1.0
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 150.43 seconds
    

    2.13 -iL 导入扫描文件

    ip.log

    10.12.120.41
    www.lgch.xyz
    

    从一个文件中导入IP地址,并进行扫描

    nmap -iL ip.log
    
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:32 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.0024s latency).
    Not shown: 991 filtered ports
    PORT     STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    808/tcp  open  ccproxy-http
    902/tcp  open  iss-realsecure
    912/tcp  open  apex-mesh
    2383/tcp open  ms-olap4
    9001/tcp open  tor-orport
    
    Nmap scan report for www.lgch.xyz (152.136.107.109)
    Host is up (0.024s latency).
    Not shown: 994 filtered ports
    PORT     STATE SERVICE
    80/tcp   open  http
    443/tcp  open  https
    3306/tcp open  mysql
    3389/tcp open  ms-wbt-server
    5357/tcp open  wsdapi
    8087/tcp open  simplifymedia
    
    Nmap done: 2 IP addresses (2 hosts up) scanned in 19.18 seconds
    

    2.14 -f 绕过防火墙

    在扫描时通过使用-f参数以及使用–mtu 4/8/16使用分片、指定数据包的MTU,来绕过防火墙

    nmap -f 192.168.56.7
    
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:36 EDT
    Nmap scan report for 10.12.120.41
    Host is up (0.00094s latency).
    Not shown: 991 filtered ports
    PORT     STATE SERVICE
    135/tcp  open  msrpc
    139/tcp  open  netbios-ssn
    443/tcp  open  https
    445/tcp  open  microsoft-ds
    808/tcp  open  ccproxy-http
    902/tcp  open  iss-realsecure
    1433/tcp open  ms-sql-s
    2383/tcp open  ms-olap4
    9001/tcp open  tor-orport
    
    Nmap done: 1 IP address (1 host up) scanned in 4.86 seconds
    

    3 Nmap扫描脚本

    Nmap不仅用于端口扫描,服务检测,其还具有强大的脚本功能,利用Nmap Script可以快速探测服务器,一般情况下,常用的扫描脚本会放在/usr/share/nmap/script目录下,并且脚本扩招名为*.nse后缀的,接下来将介绍最常用的扫描脚本

    3.1 扫描WEB敏感目录

    nmap -p 80 --script=http-enum.nse 192.168.56.7
    

    DC-3扫描:
    在这里插入图片描述

    3.2 扫描C站与旁站

    nmap -p 80,8080 --open ip或域名/24 
    

    3.3 扫描端口开放情况

    nmap -sV -sS -p- -A -v 192.168.56.12
    
    展开全文
  • nmap 扫描端口使用

    2012-07-19 06:42:21
    进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):  nmap -sP 192.168.1.0/24  仅列出指定网络上的每台主机,不发送任何报文到目标主机:  nmap -sL 192.168.1.0/24  ...
  • nmap是Linux下常用的端口扫描工具,它可以检测主机是否在线,是否开启了某个服务端口,使用了何种操作系统等,下面是安装方法和使用方法
  • Nmap扫描端口常用指令

    万次阅读 2020-06-01 21:01:13
    实验所用Nmap版本:7.80 1.使用默认方法扫描目标主机 默认的方法是通过试图与目标主机建立一个完整的TCP连接,从而判断目标主机端口的开放信息。 指令:namp -sT 域名/IP地址 //-sT可省略 结果:列出开放的端口号 ...

    实验所用Nmap版本:7.80

    1.TCP Connect()扫描

    这是默认的方法是,通过试图与目标主机相应的TCP端口建立一个完整的TCP连接,从而判断目标主机端口的开放信息。

    指令:namp -sT 域名/IP地址                     //-sT可省略
    结果:列出开放的端口号
    

    扫描截图:
    Nmap 域名” 的结果
    可以一次扫描多台主机,只要将目标主机域名或者IP地址隔开即可,比如:

    nmap www.taobao.com www.baidu.com
    nmap 192.168.0.1 192.168.0.2
    nmap 192.168.0.1,2					//与上一条指令效果一样
    namp -sL  Path+Filename				//从指定文件中读取主机地址进行扫描
    nmap -F www.taobao.com				//快速扫描,扫描的端口更少
    

    甚至可以扫描整个网络,使用网络地址即可如:192.168.0.*,当然需要的时间就会很长。

    2.半开放扫描

    半开放扫描(TCP SYN):只发送一个SYN报文然后等待回应。相对于TCP Connect扫描更加安全,因为不建立一个完整的TCP连接,目标主机一般不会将此类行为记入安全日志,但是需要root权限。

    nmap -sS 域名/IP地址
    

    结果:
    nmap -sS 域名/IP地址就发现扫描时间居然比使用-sT方式的时间还要久。

    3.UDP端口扫描

    使用UDP扫描方式确定目标主机的UDP端口开放情况,也需要root权限。

    nmap -sU www.taobao.com
    

    扫描显示所有的UDP端口都是open|filterd的,即开放的或者被防火墙过滤掉了,Nmap不能识别。
    UDP端口扫描--淘宝后面我又扫描了百度,发现百度只开放了一个500端口,这个端口是为ISAKMP提供服务,全称是Internet Security Association Key Management Protocol,即Internet安全联盟密钥管理协议。另外,自己的电脑是所有的端口都是关闭的。

    4.IP协议号支持扫描

    确定目标机支持哪些IP协议。指令:

    nmap -sO www.taobao.com
    

    结果:
    在这里插入图片描述这里我用wireshark进行了抓包,想看一下nmap对目标主机进行了哪些IP协议号进行测试,发现只有ICMP、TCP、UDP,没有发现GRE(通用路由协议)。
    ![主机IP协议号支持扫描]

    5.操作系统扫描

    指令:

    nmap -O www.taobao.com
    

    结果:
    操作系统扫描

    6.防火墙和IDS躲避及欺骗

    尝试伪造IP地址,但是没成功,感兴趣的可以自己尝试。

    -f:报文分段
    --mtu <val>: 指定最大传输单元(数据链路层)
    -D <decoy1,decoy2[,ME],...>: 使用诱饵隐蔽扫描(我也看不懂)
    -S <IP_Address>: IP源地址欺骗
    -e <iface>: 制定接口发送扫描数据
    -g/--source-port <portnum>: 指定端口进行发送扫描数据
    --data-string <string>: Append a custom ASCII string to sent packets
    --data-length <num>: Append random data to sent packets
    
    展开全文
  • nmap——端口扫描_基础命令

    千次阅读 2020-07-27 22:05:27
    文章目录一、操作环境二、nmap命令用法三、部分实例Ⅰ、-v 加强扫描Ⅱ、-A 扫描操作系统和路由跟踪Ⅲ、-O 探测操作系统Ⅳ、-sN TCP空扫描欺骗防火墙Ⅴ、--iflist 显示接口和路由信息Ⅵ、-sA 探测防火墙Ⅶ、-sP 探测...

    一、操作环境

    Kali-2020.2-amd64

    二、nmap命令用法

    nmap [scan type] [option] [target]

    命令描述
    nmap IP扫描IP
    nmap -v IP加强扫描
    nmap IP1 IP2 ...扫描多IP
    nmap a.b.c.*扫描整个子网
    nmap a.b.c.x,y,...扫描多子网地址
    nmap -iL xxx.txt根据文件扫描多IP
    nmap a.b.c.x-y扫描子网IP范围
    nmap a.b.c.* --exclude IP排除指定IP扫描整个子网
    nmap -A IP扫描操作系统和路由跟踪
    nmap -O IP探测操作系统
    nmap -sA/-PN IP探测防火墙
    nmap -sP a.b.c.*探测在线主机
    nmap -F IP快速扫描
    nmap -r IP按顺序扫描
    nmap -iflist显示接口和路由信息
    nmap -p n1,n2... IP扫描指定端口
    nmap -p T:n1,n2... IP扫描TCP端口
    nmap -sU n1,n2... IP扫描UDP端口
    nmap -sV IP查看服务的版本
    nmap -PS IPTCP ACK扫描
    nmap -PA IPTCP SYN扫描
    nmap -sS IP隐蔽扫描
    nmap -sN IPTCP空扫描欺骗防火墙

    三、部分实例

    Ⅰ、-v 加强扫描

    在这里插入图片描述

    Ⅱ、-A 扫描操作系统和路由跟踪

    在这里插入图片描述
    在这里插入图片描述

    Ⅲ、-O 探测操作系统

    在这里插入图片描述

    Ⅳ、-sN TCP空扫描欺骗防火墙

    在这里插入图片描述

    Ⅴ、–iflist 显示接口和路由信息

    在这里插入图片描述

    Ⅵ、-sA 探测防火墙

    在这里插入图片描述

    Ⅶ、-sP 探测在线主机

    在这里插入图片描述

    Ⅷ、-r 按顺序扫描

    在这里插入图片描述

    Ⅸ、-sV 查看服务的版本

    在这里插入图片描述
    在这里插入图片描述

    Ⅹ、-sS 隐蔽扫描

    在这里插入图片描述

    欢迎在评论区留言
    感谢浏览

    展开全文
  • nmap扫描常用命令详解

    千次阅读 多人点赞 2020-09-12 21:18:27
    常用命令:-vv是详细信息 nmap -vv -sT -sV -Pn 192.168.200.14 -p 1433 nmap -sT -sV -Pn 192.168.200.14 -p 1433 -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。...

    常用命令:-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命令扫描开放端口

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

    千次阅读 2019-12-18 14:36:49
    Linux命令nmap端口扫描工具 介绍 https://nmap.org/man/zh/ Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。 它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也...
  • Nmap 端口扫描

    千次阅读 2021-01-22 15:09:18
    端口扫描Nmap的强项,大多数Nmap应用都是应用于对端口扫描。 一、Nmap端口扫描有以下几种状态。 Open 端口开放状态 应用程序正在该端口接收TCP或UDP报文。这也是端口扫描的主要目标。它显示了网络上哪些...
  • Kali内Nmap端口扫描与高级扫描

    千次阅读 2021-08-28 20:09:54
    高级Nmap扫描:TCP空闲扫描 使用Nmap进行端口扫描 -sS代表使用nmap执行一次隐秘的TCP扫描 -Pn代表nmap不会使用ping命令预先判断主机是否存活 【-Pn是默认目标主机是存活的,适用于internet渗透测试环境,由于...
  • 如何使用Nmap扫描所有TCP和UDP端口

    千次阅读 2020-10-08 10:02:21
    Nmap is a very useful and popular tool used to scan ports. Nmap by default scans the most popular 1000 ports. We may need to change the port range and protocol type to all while scanning with Nmap. Nm...
  • nmap 扫描端口

    千次阅读 2016-12-20 22:13:55
    使用 ping命令测试服务器是否联通 使用rmp -q nmap查看服务器上是否安装有nmap 这款测试工具 如何没有安装 apr-get install nmap 安装 nmap  nmap 127.0.0.1 查看服务器本地的所有端口 nmap scan report for...
  • 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端口扫描示例

    2020-08-10 15:47:46
    Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的网络探测和安全审核的工具。基本功能有三个,一是探测一组主机...如果是cent系统,使用yum install nmap命令安装即可。 本文主要是对指定IP地址的端口扫描
  • 每日一句: 渗透测试,特别是涉及到工具的时候,一定要得到授权才要继续。 本文内容: ~初识Nmap ~Nmap常用扫描指令 ~Nmap扫描状态 ~Nmap漏洞扫描 ~补充一下批量扫描
  • kali linux系统nmap扫描命令入门

    千次阅读 2019-01-27 23:04:11
    nmap 加网站或者ip地址 扫描网站或者ip的资料,显示开了什么端口等等资料 nmap -sn 192.168.0.0/24 使用nmap查看局域网的人使用什么设备 nmap -O XXXXXXXXXXX 使用nmap查看对方信息,系统版本,端口等等(-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,591
精华内容 5,836
关键字:

nmap扫描端口命令