Nmap掃描教程之網路基礎服務DHCP服務類

大學霸發表於2015-06-25

Nmap掃描教程之網路基礎服務DHCP服務類

Nmap網路基礎服務

網路基礎服務是網路正常工作的基石,常見的網路基礎服務包括DHCP服務和DNS服務。其中,DHCP服務用來為計算機動態分配IP地址;DNS服務用來對主機名進行解析。本章將介紹網路基礎服務的掃描方法。

NmapDHCP服務類

DHCPDynamic Host Configuration Protocol,動態主機配置協議)是一種區域網的網路協議。它的主要作用就是,給內部網路或網路服務供應商自動分配IP地址。當一臺客戶機需要一個IP地址時,將會向DHCP伺服器傳送廣播包。然後,收到請求的伺服器會提供一個可用的IP地址給客戶端。由於客戶端在請求包時傳送的是廣播包,所以存在一定的風險。本節將介紹DHCP服務的掃描方法。

Nmap廣播DHCP請求包

DHCP請求是客戶端為了透過DHCP服務獲取IP地址而傳送的一種資料包。透過向網路中傳送一個DHCP RequestDHCP請求)廣播包,可以獲取到當前區域網中可用的一個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 ( ) 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.102DHCP型別為DHCPOFFER,租約時間為2個小時等。從以上輸出的倒數第二行資訊中,可以看到顯示了一行警告資訊,提示沒有指定目標,所以零個主機被掃描。

提示:本章中介紹的指令碼都傳送的是廣播包,所以在掃描時不需要指定任何的目標。

Nmap DHCP發現

DHCP是一個區域網的網路協議,主要作用就是為區域網中計算機動態分配IP地址。在Nmap中,透過使用dhcp-discover指令碼傳送DHCPINFORM請求,可以獲取所有本地的配置引數,但是不會被分配一個新的地址。DHCPINFORM是一個DHCP請求,可以從一個DHCP伺服器上獲取到非常有用的資訊。其中,dhcp-discover指令碼的使用語法格式如下所示:


  • nmap -sU -p 67 --script=dhcp-discover [目標]


【示例1-2】傳送DHCPINFORM請求到路由器的UDP67,獲取所有本地配置引數。執行命令如下所示:


  • root@localhost:~# nmap -sU -p 67 --script=dhcp-discover 192.168.1.1
  • Starting Nmap 6.47 ( ) 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等。

Nmap IGMP協議發現

IGMPInternet Group Management ProtocolInternet組管理協議)是因特網協議家族中的一個組播協議。該協議執行在主機和組播路由器之間。IGMP協議共有三個版本,分別是IGMPv1IGMPv2IGMPv3。透過傳送IGMP成員查詢訊息到224.0.0.1(組播地址),可以獲取到IGMP成員資訊。

Nmap中,使用broadcast-igmp-discovery指令碼可以發現目標主機上的IGMP組播成員,並獲取有意義的資訊,如版本、介面、源地址等。其中,語法格式如下所示:


  • nmap --script broadcast-igmp-discovery -e --script-args='broadcast-igmp-discovery.version=all, broadcast-igmp-discovery.timeout=3'


以上語法中“-e”選項是用來指定掃描介面。引數“broadcast-igmp-discovery.version”用來指定掃描使用的IGMP協議版本,預設使用的是IGMPv2。該引數可使用的值有123all。引數“broadcast-igmp-discovery.timeout”用來指定等待報告的時間,預設是5秒。

【示例1-3】掃描區域網中IGMP協議。執行命令如下所示:


  • root@localhost:~# nmap --script broadcast-igmp-discovery
  • Starting Nmap 6.47 ( ) 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.251224.0.0.252239.255.255.250等。

從上例中可以看到沒有指定IGMP協議版本時,預設使用的是IGMPv2。使用者可以指定所有協議,則執行命令如下所示:


  • # nmap --script broadcast-igmp-discovery --script-args 'broadcast-igmp-discovery.version=all
  • Starting Nmap 6.47 ( ) 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人!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1711810/,如需轉載,請註明出處,否則將追究法律責任。

相關文章