Programme en ligne de commande pour tester le service DHCP


44

Existe-t-il une simple commande de type ping permettant de vérifier si un service DHCP est exécuté sur un réseau? ... sur Linux

Réponses:


10

Même si vous n'utilisez pas de serveur de surveillance Nagios, vous pouvez grep 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>

38

Sur la base de cette réponse , en supposant que vous avez installé nmap ( sudo apt install nmap):

sudo nmap --script broadcast-dhcp-discover

Ajoutez l' -e $interfaceoption 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 autre réseau, 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

cela n'a pas trouvé mon serveur DHCP - il doit y avoir un problème avec mon pc ... Ethernet fonctionne, mais pas ça
Jasen

Notez que ce script utilise une adresse MAC fixe ( DE:AD:CO:DE:CA:FE) et ne fonctionnera donc pas si votre serveur DHCP est configuré avec une liste blanche.
Bob

@ Bob: Merci. C'est bon à savoir
Mivk

5

dhcpdump est bon pour renifler 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 conjointement avec un autre outil pour effectuer des requêtes DHCP ou simplement pour regarder des PC / périphériques interroger DHCP.


2
Egalement disponible pour macOS à travers brew install dhcpdump.
Fifi finance

Cela ne semble fonctionner que s’il existe un trafic DHCP réel sur le réseau.
mardi

@mivk Êtes-vous sérieux?
Ken Sharp

2
@ KenSharp Pourquoi? Oui. dhcpdump ne montrera quelque chose que lorsqu'un client du réseau demande une adresse DHCP. Si vous ne voulez pas attendre et que vous ne voulez pas envoyer vous-même une demande dhcp, mais que vous ne voyez que la machine qui répondrait à une demande, alors ce n'est pas la solution.
mardi

@mivk Pourquoi? Parce que l'affiche disait exactement cela.
Duncan X Simpson

5

ou vous pouvez essayer dhcpcden mode test:

dhcpcd -T eth0

Utiliser dhcpcd -T eth0 -t 2pour arrêter après 2 secondes
Maarten Wolzak


4

Pourquoi ne pas simplement faire une requête DHCP?

dhclient

Pour une sortie verbeuse, utilisez:

dhclient -v


14
Probablement parce que cela obligera votre système à utiliser l'adresse IP attribuée par le serveur DHCP, ce qui n'est pas ce que l'on souhaite par exemple pour savoir s'il existe des serveurs DHCP non autorisés dans son réseau.
ThiefMaster

6
L'option -n aide ici?
akostadinov

1
L'option -nsemble être cassée sur le client DHCP ISC v4.2.4 sur Ubuntu 14 LTS?
Josip Rodin

Je ne pense pas que -nfait ce que vous pensez qu'il fait.
Jasen

expliquehell.com/explain?cmd=dhclient+-n : "Ne configurez aucune interface. Cela sera probablement utile en combinaison avec l'indicateur -w."
Mwfearnley

3

Il y a un programme appelé dhcping (avec un seul p)


1

Sur les systèmes Debian-Ubuntu:

dhcpd -f

donne de bons commentaires et teste la configuration.

Sur les systèmes RH, essayez:

/etc/rc.d/init.d/dhcpd configtest

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.