博物馆网站建设的根本意义,国外ps设计图网站,王者荣耀wordpress,深圳电商页面设计那家好常用命令#xff1a;-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()扫描#xff0c;这种方式会在目标主机的日志中记录大批连接请求和错误信息。 -sS 半开扫描#xff0c;很少有系统能把它记入系…常用命令-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()扫描这种方式会在目标主机的日志中记录大批连接请求和错误信息。 -sS 半开扫描很少有系统能把它记入系统日志。不过需要Root权限。 -sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 -sP ping扫描Nmap在扫描端口时默认都会使用ping扫描只有主机存活Nmap才会继续扫描。 -sU UDP扫描但UDP扫描是不可靠的 -sA 这项高级的扫描方法通常用来穿过防火墙的规则集 -sV 探测端口服务版本 -Pn 扫描之前不需要用ping命令有些防火墙禁止ping命令。可以使用此选项进行扫描 -v 显示扫描过程推荐使用 -h 帮助选项是最清楚的帮助文档 -p 指定端口如“1-65535、1433、135、22、80”等 -O 启用远程操作系统检测存在误报 -A 全面系统检测、启用脚本检测、扫描等 -oN/-oX/-oG 将报告写入文件分别是正常、XML、grepable 三种格式 -T4 针对TCP端口禁止动态扫描延迟超过10ms -iL 读取主机列表例如“-iL C:\ip.txt” nmap –iflist : 查看本地主机的接口信息和路由信息 -A 选项用于使用进攻性方式扫描 -T4 指定扫描过程使用的时序总有6个级别0-5级别越高扫描速度越快但也容易被防火墙或IDS检测并屏蔽掉在网络通讯状况较好的情况下推荐使用T4 -oX test.xml 将扫描结果生成 test.xml 文件如果中断则结果打不开 -oA test.xml: 将扫描结果生成 test.xml 文件中断后结果也可保存 -oG test.txt: 将扫描结果生成 test.txt 文件 -sn : 只进行主机发现不进行端口扫描 -O : 指定Nmap进行系统版本扫描 -sV: 指定让Nmap进行服务版本扫描 -p port ranges: 扫描指定的端口 -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描 -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况 -script script name : 指定扫描脚本 -Pn 不进行ping扫描 -sP : 用ping扫描判断主机是否存活只有主机存活nmap才会继续扫描一般最好不加因为有的主机会禁止ping -PI : 设置这个选项让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。 -iL 1.txt : 批量扫描1.txt中的目标地址 -sL: List Scan 列表扫描仅将指定的目标的IP列举出来不进行主机发现 -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况 -sO: 使用IP protocol 扫描确定目标机支持的协议类型 -PO : 使用IP协议包探测对方主机是否开启 -PE/PP/PM : 使用ICMP echo、 ICMP timestamp、ICMP netmask 请求包发现主机 -PS/PA/PU/PY : 使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现 -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态 -e eth0指定使用eth0网卡进行探测 -f : --mtu val: 指定使用分片、指定数据包的 MTU. -b FTP relay host: 使用FTP bounce scan扫描方式 -g 指定发送的端口号 -r: 不进行端口随机打乱的操作如无该参数nmap会将要扫描的端口以随机顺序方式扫描以让nmap的扫描不易被对方防火墙检测到 -v 表示显示冗余信息在扫描过程中显示扫描的细节从而让用户了解当前的扫描状态 -n : 表示不进行DNS解析 -D decoy1,decoy2[,ME],...: 用一组 IP 地址掩盖真实地址其中 ME 填入自己的 IP 地址 -R 表示总是进行DNS解析。 -F : 快速模式仅扫描TOP 100的端口 -S IP_Address: 伪装成其他 IP 地址 --ttl val: 设置 time-to-live 时间 --badsum: 使用错误的 checksum 来发送数据包正常情况下该类数据包被抛弃如果收到回复说明回复来自防火墙或 IDS/IPS --dns-servers : 指定DNS服务器 --system-dns : 指定使用系统的DNS服务器 --traceroute : 追踪每个路由节点 --scanflags flags: 定制TCP包的flags --top-ports number :扫描开放概率最高的number个端口 --port-ratio ratio: 扫描指定频率以上的端口。与上述--top-ports类似这里以概率作为参数 --version-trace: 显示出详细的版本侦测过程信息 --osscan-limit: 限制Nmap只对确定的主机的进行OS探测至少需确知该主机分别有一个open和closed的端口 --osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少但会尽可能多为用户提供潜在的操作系统 --data-length num: 填充随机数据让数据包长度达到 Num --ip-options options: 使用指定的 IP 选项来发送数据包 --spoof-mac mac address/prefix/vendor name : 伪装 MAC 地址 --version-intensity level: 指定版本侦测强度0-9默认为7。数值越高探测出的服务越准确但是运行时间会比较长。 --version-light: 指定使用轻量侦测方式 (intensity 2) --version-all: 尝试使用所有的probes进行侦测 (intensity 9) --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的主机。执行命令如下所示
rootlocalhost:~# 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的目标主机则执行命令如下所示
[rootrouter ~]# 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。执行命令如下所示
rootlocalhost:~# 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地址写入到该文本文件中。如下所示
rootlocalhost:~# 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文件中指定的所有主机。执行命令如下所示
rootlocalhost:~# 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工具随机选择两个目标主机进行扫描。执行命令如下所示
rootlocalhost:~# 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之间的所有主机。执行命令如下所示
rootlocalhost:~# 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整个子网中的所有主机。执行命令如下所示
rootlocalhost:~# 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以外的所有主机。执行命令如下所示
rootlocalhost:~# 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之外的所有主机。则执行命令如下所示
rootlocalhost:~# 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地址。如下所示
rootlocalhost:~#vi list.txt 192.168.102 192.168.1.103 192.168.1.104 192.168.1.105 在以上列表文件中指定排除扫描以上四个IP地址的主机。
2实施扫描。执行命令如下所示
rootlocalhost:~# 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实施全面扫描。则执行命令如下所示
rootlocalhost:~# 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) #操作系统为UnixSamba版本为3.6.9 | Computer name: router #计算机名 | NetBIOS computer name: #NetBIOS计算机名 | Domain name: #域名 | FQDN: router #完全合格域名FQDN |_ System time: 2015-05-06T15:20:2808: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 doesnt 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解析 -RDNS解析所有的地址默认不解析不在线的IP -system-dns使用系统DNS --dns-servers server1[,server2[,…]](使用其他DNS)
三.端口扫描概要
1.端口扫描
-p 端口号列表 2.端口状态 1.Open端口开启有程序监听此端口 2.Closed端口关闭数据能到达主机但是没有程序监听此端口。 3.Filtered数据未能到达主机。 4.Unfiltered数据能到达主机但是Nmap无法判断端口开启还是关闭。 5.Open|filtered端口没有返回值主要出现在UDPIPFINNULL和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-intensity0-9设置探测深度 3.--version-light相当于0-2 4.--version-all相当于0-9 5.--version-trace显示版本扫描详情(用于调试) 七.远程操作系统的识别
1.-O启动操作系统识别。 2.--osscan-limit限定只识别有端口开放的主机提高-O和-A参数时的扫描速度。 3.--osscan-guestOS给NMAP建议的操作系统。类似于sqlmap的参数。 4.--max-os-tries 次数设置重试次数默认为5提高准确性或者提高速度。 八.nmap的脚本引擎
九.识别并绕过防火墙和IDS
十.防御nmap扫描
十一.nmap的图形化程序zenmap
十二.格式化nmap的输出内容
十三.理解和设置nmap的数据文件
十四.总结 基础简单的nmap教程基本使用参数就这些不要看只有几个组合起来其实还是比较多的本教程暂时到这里还有没有讲解的模块打算在下一篇的nmap进阶使用教程在讲解