Nmap扫描教程之网络基础服务DHCP服务类
Nmap扫描教程之网络基础服务DHCP服务类
Nmap网络基础服务
网络基础服务是网络正常工作的基石,常见的网络基础服务包含DHCP服务和DNS服务。当中,DHCP服务用来为计算机动态分配IP地址。DNS服务用来对主机名进行解析。本章将介绍网络基础服务的扫描方法。
NmapDHCP服务类
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种局域网的网络协议。它的主要作用就是,给内部网络或网络服务供应商自己主动分配IP地址。当一台客户机须要一个IP地址时,将会向DHCPserver发送广播包。然后,收到请求的server会提供一个可用的IP地址给client。
因为client在请求包时发送的是广播包。所以存在一定的风险。
本节将介绍DHCP服务的扫描方法。
Nmap广播DHCP请求包
DHCP请求是client为了通过DHCP服务获取IP地址而发送的一种数据包。
通过向网络中发送一个DHCP Request(DHCP请求)广播包,能够获取到当前局域网中可用的一个IP地址。
在Nmap中。broadcast-dhcp-discover脚本能够用来发送DHCP广播请求,并显示响应包的具体信息。通过读分析响应的包信息,能够找到可分配的IP地址。
当中,语法格式例如以下所看到的:
-
nmap --script broadcast-dhcp-discover
在以上语法中。仅指定使用的Nmap脚本就可以,不须要指定目标地址。因为broadcast-dhcp-discover脚本将会发送包到局域网中的全部主机,而且等待有响应的主机。
【演示样例1-1】使用broadcast-dhcp-discover脚本向局域网中发送DHCP Request广播包。
运行命令例如以下所看到的:
-
Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-21 16:58 CST
-
Pre-scan script results:
-
| broadcast-dhcp-discover:
-
| IP Offered: 192.168.1.102 #提供的IP地址
-
| DHCP Message Type: DHCPOFFER #DHCP消息类型
-
| Server Identifier: 192.168.1.1 #服务标识符
-
| IP Address Lease Time: 0 days, 2:00:00 #IP地址租约时间
-
| Subnet Mask: 255.255.255.0 #子网掩码
-
| Router: 192.168.1.1 #路由器地址
-
|_ Domain Name Server: 192.168.1.1 #域名服务地址
-
WARNING: No targets were specified, so 0 hosts scanned. #警告信息
-
Nmap done: 0 IP addresses (0 hosts up) scanned in 1.37 seconds
从以上输出信息中,能够看到响应包的具体信息。
比如。响应的IP地址为192.168.1.102,DHCP类型为DHCPOFFER,租约时间为2个小时等。从以上输出的倒数第二行信息中,能够看到显示了一行警告信息。提示没有指定目标,所以零个主机被扫描。
提示:本章中介绍的脚本都发送的是广播包。所以在扫描时不须要指定不论什么的目标。
Nmap DHCP发现
DHCP是一个局域网的网络协议,主要作用就是为局域网中计算机动态分配IP地址。在Nmap中,通过使用dhcp-discover脚本发送DHCPINFORM请求。能够获取全部本地的配置參数,可是不会被分配一个新的地址。DHCPINFORM是一个DHCP请求。能够从一个DHCPserver上获取到很实用的信息。
当中,dhcp-discover脚本的使用语法格式例如以下所看到的:
-
nmap -sU -p 67 --script=dhcp-discover [目标]
【演示样例1-2】发送DHCPINFORM请求到路由器的UDPport67。获取全部本地配置參数。运行命令例如以下所看到的:
-
root@localhost:~# nmap -sU -p 67 --script=dhcp-discover 192.168.1.1
-
Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-01 16:18 CST
-
Nmap scan report for localhost (192.168.1.1)
-
Host is up (0.00032s latency).
-
PORT STATE SERVICE
-
67/udp open dhcps
-
| dhcp-discover: #获取的信息
-
| DHCP Message Type: DHCPACK #DHCP消息类型
-
| Server Identifier: 192.168.1.1 #服务标识符
-
| Subnet Mask: 255.255.255.0 #子网掩码
-
| Router: 192.168.1.1 #路由地址
-
|_ Domain Name Server: 192.168.1.1 #域名服务
-
MAC Address: 14:E6:E4:84:23:7A (Tp-link Technologies CO.)
-
Nmap done: 1 IP address (1 host up) scanned in 0.50 seconds
从以上输出信息中。能够看到通过发送DHCPINFORM请求,获取到的相关信息。从输出的信息中,能够看到发送DHCPINFORM请求后,server响应了一个DHCPACK包。
而且,server的标识符为192.168.1.1、子网掩码为255.255.255.0、路由器地址为192.168.1.1等。
Nmap IGMP协议发现
IGMP(Internet Group Management Protocol,Internet组管理协议)是因特网协议家族中的一个组播协议。该协议执行在主机和组播路由器之间。IGMP协议共同拥有三个版本号,各自是IGMPv1、IGMPv2和IGMPv3。通过发送IGMP成员查询消息到224.0.0.1(组播地址),能够获取到IGMP成员信息。
在Nmap中,使用broadcast-igmp-discovery脚本能够发现目标主机上的IGMP组播成员,并获取有意义的信息,如版本号、接口、源地址等。
当中。语法格式例如以下所看到的:
-
nmap --script broadcast-igmp-discovery -e <interface> --script-args='broadcast-igmp-discovery.version=all, broadcast-igmp-discovery.timeout=3'
以上语法中“-e”选项是用来指定扫描接口。參数“broadcast-igmp-discovery.version”用来指定扫描使用的IGMP协议版本号。默认使用的是IGMPv2。
该參数可使用的值有1、2、3和all。
參数“broadcast-igmp-discovery.timeout”用来指定等待报告的时间。默认是5秒。
【演示样例1-3】扫描局域网中IGMP协议。运行命令例如以下所看到的:
-
root@localhost:~# nmap --script broadcast-igmp-discovery
-
Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-21 17:36 CST
-
Pre-scan script results: #扫描结果
-
| broadcast-igmp-discovery: #IGMP发现
-
| 192.168.1.101
-
| Interface: eth0 #接口
-
| Version: 2 #版本号
-
| Group: 224.0.0.251 #组地址
-
| Description: mDNS #描写叙述
-
| 192.168.1.101
-
| Interface: eth0 #接口
-
| Version: 2 #版本号
-
| Group: 224.0.0.252 #组地址
-
| Description: Link-local Multicast Name Resolution (rfc4795) #描写叙述
-
| 192.168.1.108
-
| Interface: eth0 #接口
-
| Version: 2 #版本号
-
| Group: 239.255.255.250 #组
-
| Description: Organization-Local Scope (rfc2365) #描写叙述
-
|_ Use the newtargets script-arg to add the results as targets
-
WARNING: No targets were specified, so 0 hosts scanned.
-
Nmap done: 0 IP addresses (0 hosts up) scanned in 7.13 seconds
从以上输出信息中。能够看到响应了IGMP协议相关的信息。如版本号为2,接口为eth0,组成员包含224.0.0.251、224.0.0.252和239.255.255.250等。
从上例中能够看到没有指定IGMP协议版本号时,默认使用的是IGMPv2。用户能够指定全部协议,则运行命令例如以下所看到的:
-
# nmap --script broadcast-igmp-discovery --script-args 'broadcast-igmp-discovery.version=all
-
Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-22 11:03 CST
-
Pre-scan script results:
-
| broadcast-igmp-discovery:
-
| 192.168.1.101
-
| Interface: eth0
-
| Version: 1
-
| Multicast group: 224.0.0.252
-
| 192.168.1.101
-
| Interface: eth0
-
| Version: 1
-
| Multicast group: 239.255.255.250
-
|_ Use the newtargets script-arg to add the results as targets
-
WARNING: No targets were specified, so 0 hosts scanned.
-
Nmap done: 0 IP addresses (0 hosts up) scanned in 7.26 seconds
从以上输出信息中。能够看到使用IGMPv1版本号发送了数据包。
本文选自:Nmap扫描实战教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!