web-dev-qa-db-fra.com

Programme de ligne de commande pour tester le service DHCP

Existe-t-il une simple commande de type ping pour tester si un service DHCP s'exécute sur un réseau? ... sous Linux

53
pufferfish

Même si vous n'utilisez pas de serveur de surveillance Nagios, vous pouvez récupérer le binaire check_dhcp ou le compiler à partir de la source et utiliser la vérification pour tester un serveur DHCP. Par exemple.

./check_dhcp -v -s <dhcp_server_address> -r <expected_ip_address> -m <mac_address_touse>
12
sandoz

Basé sur cette réponse , en supposant que vous avez installé nmap (Sudo apt install nmap):

Sudo nmap --script broadcast-dhcp-discover

Ajouter le -e $interface option si vous avez plusieurs interfaces réseau. (Par exemple: nmap --script broadcast-dhcp-discover -e eth0)

Exemple de sortie:

Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-27 17:40 CEST
Pre-scan script results:
| broadcast-dhcp-discover: 
|   Response 1 of 1: 
|     IP Offered: 192.168.81.94
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 192.168.81.2
|     IP Address Lease Time: 5m00s
|     Subnet Mask: 255.255.255.0
|     Router: 192.168.81.2
|     Domain Name Server: 192.168.81.2
|     Domain Name: example.lan
|     NTP Servers: 192.168.81.10, 192.168.81.2
|     NetBIOS Name Server: 192.168.81.10
|_    NetBIOS Node Type: 8
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.66 seconds

Ou cette sortie sur un réseau différent, avec nmap v. 6:

Starting Nmap 6.00 ( http://nmap.org ) at 2017-09-27 17:42 CEST
Pre-scan script results:
| broadcast-dhcp-discover: 
|   IP Offered: 192.168.4.101
|   DHCP Message Type: DHCPOFFER
|   Server Identifier: 192.168.4.1
|   IP Address Lease Time: 7 days, 0:00:00
|   Subnet Mask: 255.255.255.0
|   Time Offset: 7200
|   Router: 192.168.4.1
|   Domain Name Server: 208.91.112.53, 208.91.112.52
|   Renewal Time Value: 3 days, 12:00:00
|_  Rebinding Time Value: 6 days, 3:00:00
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 1.15 seconds
46
mivk

ou vous pouvez essayer dhcpcd en mode test:

dhcpcd -T eth0
7
Paul M

dhcpdump est bon pour flairer et afficher les paquets DHCP sur le réseau.

Par exemple.

# dhcpdump -i eth0
---------------------------------------------------------------------------

  TIME: 2015-11-27 11:41:37.379
    IP: 0.0.0.0 (0:11:b9:5:0:b8) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  Hops: 0
   XID: abce9327
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 00:11:b9:05:00:b8:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  57 (  2) Maximum DHCP message size 576
OPTION:  55 (  4) Parameter Request List      1 (Subnet mask)
                          3 (Routers)
                         28 (Broadcast address)
                          6 (DNS server)

---------------------------------------------------------------------------

Vous pouvez l'utiliser en conjonction avec un autre outil pour effectuer des requêtes DHCP, ou simplement l'utiliser pour regarder des PC/appareils interroger DHCP.

5
Craig McQueen

Pourquoi ne pas simplement faire une demande DHCP?

dhclient

Pour une sortie détaillée, utilisez:

dhclient -v

5
Sirex

J'ai écrit un programme client de test DHCP il y a quelque temps, fonctionne sur Windows et POSIX:

https://github.com/CyberShadow/dhcptest

4
Vladimir Panteleev

Il existe un programme appelé dhcping (avec un seul p)

3
topdog

Sur les systèmes Debian-Ubuntu:

dhcpd -f

donne une bonne rétroaction et teste la configuration.

Sur les systèmes RH, essayez:

/etc/rc.d/init.d/dhcpd configtest
1
John P. Fisher

si vous utilisez des nagios, vous pouvez le surveiller avec check_dhcp

0
natxo asenjo