網絡基礎服務是網絡正常工做的基石,常見的網絡基礎服務包括DHCP服務和DNS服務。其中,DHCP服務用來爲計算機動態分配IP地址;DNS服務用來對主機名進行解析。本章將介紹網絡基礎服務的掃描方法。服務器
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一種局域網的網絡協議。它的主要做用就是,給內部網絡或網絡服務供應商自動分配IP地址。當一臺客戶機須要一個IP地址時,將會向DHCP服務器發送廣播包。而後,收到請求的服務器會提供一個可用的IP地址給客戶端。因爲客戶端在請求包時發送的是廣播包,因此存在必定的風險。本節將介紹DHCP服務的掃描方法。網絡
DHCP請求是客戶端爲了經過DHCP服務獲取IP地址而發送的一種數據包。經過向網絡中發送一個DHCP Request(DHCP請求)廣播包,能夠獲取到當前局域網中可用的一個IP地址。在Nmap中,broadcast-dhcp-discover腳本能夠用來發送DHCP廣播請求,並顯示響應包的詳細信息。經過讀分析響應的包信息,能夠找到可分配的IP地址。spa
其中,語法格式以下所示:.net
nmap --script broadcast-dhcp-discoverorm
在以上語法中,僅指定使用的Nmap腳本便可,不須要指定目標地址。因爲broadcast-dhcp-discover腳本將會發送包到局域網中的全部主機,而且等待有響應的主機。教程
【示例1-1】使用broadcast-dhcp-discover腳本向局域網中發送DHCP Request廣播包。執行命令以下所示:接口
Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-21 16:58 CSTip
Pre-scan script results:ci
| 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個小時等。從以上輸出的倒數第二行信息中,能夠看到顯示了一行警告信息,提示沒有指定目標,因此零個主機被掃描。
提示:本章中介紹的腳本都發送的是廣播包,因此在掃描時不須要指定任何的目標。
DHCP是一個局域網的網絡協議,主要做用就是爲局域網中計算機動態分配IP地址。在Nmap中,經過使用dhcp-discover腳本發送DHCPINFORM請求,能夠獲取全部本地的配置參數,可是不會被分配一個新的地址。DHCPINFORM是一個DHCP請求,能夠從一個DHCP服務器上獲取到很是有用的信息。其中,dhcp-discover腳本的使用語法格式以下所示:
nmap -sU -p 67 --script=dhcp-discover [目標]
【示例1-2】發送DHCPINFORM請求到路由器的UDP端口67,獲取全部本地配置參數。執行命令以下所示:
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請求後,服務器響應了一個DHCPACK包。而且,服務器的標識符爲192.168.1.1、子網掩碼爲255.255.255.0、路由器地址爲192.168.1.1等。
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人!