Programa de línea de comando para probar el servicio DHCP


44

¿Existe un comando simple similar al ping para probar si un servicio DHCP se está ejecutando en una red? ... en Linux

Respuestas:


10

Incluso si no usa un servidor de monitoreo Nagios, puede seleccionar el binario check_dhcp o compilarlo desde la fuente y usar la verificación para probar un servidor DHCP. P.ej

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

38

Según esta respuesta , suponiendo que haya instalado nmap ( sudo apt install nmap):

sudo nmap --script broadcast-dhcp-discover

Agregue la -e $interfaceopción si tiene más de una interfaz de red. (Por ejemplo: nmap --script broadcast-dhcp-discover -e eth0)

Salida de muestra:

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

O esta salida en una red diferente, con 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

esto no encontró mi servidor DHCP. Debe haber algo mal con mi PC ... Ethernet funciona, pero no eso.
Jasen

Tenga en cuenta que este script utiliza una dirección MAC fija ( DE:AD:CO:DE:CA:FE) y, por lo tanto, no funcionará si su servidor DHCP está configurado con una lista blanca.
Bob

@Bob: Gracias. Es bueno saberlo
mivk

5

dhcpdump es bueno para rastrear y mostrar paquetes DHCP en la red.

P.ej

# 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)

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

Puede usarlo junto con otra herramienta para hacer solicitudes DHCP, o simplemente usarlo para ver las PC / dispositivos consultar DHCP.


2
También disponible para macOS a través brew install dhcpdump.
fifi finance

Esto parece funcionar solo si hay tráfico real de dhcp en la red.
mivk

@mivk ¿Estás hablando en serio?
Ken Sharp

2
@KenSharp ¿Por qué? Si. dhcpdump solo mostrará algo cuando un cliente en la red solicite una dirección dhcp. Si no desea esperar y no desea enviar una solicitud de dhcp usted mismo, pero solo ve qué máquina respondería si hubiera una solicitud, entonces esta no es la solución.
mivk

@mivk ¿Por qué? Porque el cartel decía exactamente eso.
Duncan X Simpson

5

o puedes probar dhcpcden modo de prueba:

dhcpcd -T eth0

Úselo dhcpcd -T eth0 -t 2para el tiempo de espera después de 2 segundos
Maarten Wolzak


4

¿Por qué no simplemente hacer una solicitud DHCP?

dhclient

Para uso detallado de salida:

dhclient -v


14
Probablemente porque eso hará que su sistema use la IP asignada por el servidor DHCP, que no es lo que uno quiere cuando, por ejemplo, intenta averiguar si hay servidores DHCP falsos en su red.
ThiefMaster

66
-n opción ayuda aquí?
akostadinov

1
Opción -nparece estar rota en ISC DHCP Client v4.2.4 en Ubuntu 14 LTS?
Josip Rodin

No creo que -nhaga lo que tú piensas que hace.
Jasen

explicahell.com/explain?cmd=dhclient+-n : "No configure ninguna interfaz. Es muy probable que esto sea útil en combinación con el indicador -w".
mwfearnley


1

En sistemas Debian-Ubuntu:

dhcpd -f

da buenos comentarios y prueba la configuración.

En los sistemas RH intente:

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.