Befehlszeilenprogramm zum Testen des DHCP-Dienstes

44

Gibt es einen einfachen Ping-ähnlichen Befehl, um zu testen, ob ein DHCP-Dienst in einem Netzwerk ausgeführt wird? ... unter Linux

Kugelfisch
quelle

Antworten:

10

Auch wenn Sie keinen Nagios-Überwachungsserver verwenden, können Sie die Binärdatei check_dhcp abrufen oder aus dem Quellcode kompilieren und die Prüfung zum Testen eines DHCP-Servers verwenden. Z.B

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

Basierend auf dieser Antwort unter der Annahme, dass Sie nmap ( sudo apt install nmap) installiert haben :

sudo nmap --script broadcast-dhcp-discover

Fügen Sie die -e $interfaceOption hinzu, wenn Sie mehr als eine Netzwerkschnittstelle haben. (Zum Beispiel: nmap --script broadcast-dhcp-discover -e eth0)

Beispielausgabe:

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

Oder diese Ausgabe in einem anderen Netzwerk mit 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
mivk
quelle
Das hat meinen DHCP-Server nicht gefunden. - Muss etwas mit meinem PC nicht stimmen ... Ethernet funktioniert, nur nicht das.
Jasen
Beachten Sie, dass dieses Skript eine feste MAC-Adresse ( DE:AD:CO:DE:CA:FE) verwendet und daher nicht funktioniert, wenn Ihr DHCP-Server mit einer Whitelist konfiguriert ist.
Bob
@ Bob: Danke. Das ist gut zu wissen
mivk
5

dhcpdump eignet sich zum Aufspüren und Anzeigen von DHCP-Paketen im Netzwerk.

Z.B

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

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

Sie können es in Verbindung mit einem anderen Tool verwenden, um DHCP-Anforderungen zu erledigen, oder nur, um zu beobachten, wie PCs / Geräte DHCP abfragen.

Craig McQueen
quelle
2
Auch verfügbar für macOS bis brew install dhcpdump.
Fifi Finance
Dies scheint nur zu funktionieren, wenn tatsächlich DHCP-Verkehr im Netzwerk vorhanden ist.
Mivk
@mivk Meinst du das ernst?
Ken Sharp
2
@ KenSharp Warum? Ja. dhcpdump zeigt nur etwas an, wenn ein Client im Netzwerk eine DHCP-Adresse anfordert. Wenn Sie nicht warten und selbst keine DHCP-Anfrage senden möchten, sondern nur sehen möchten, welcher Rechner welche Anfrage beantworten würde, ist dies nicht die Lösung.
Mivk
@mivk Warum? Weil das Plakat genau das sagte.
Duncan X Simpson
5

oder Sie können dhcpcdim Testmodus versuchen :

dhcpcd -T eth0
Paul M
quelle
Verwenden dhcpcd -T eth0 -t 2Timeout nach 2 Sekunden
Maarten Wolzak
4

Ich habe vor einiger Zeit ein DHCP-Test-Client-Programm geschrieben, das unter Windows und POSIX funktioniert:

https://github.com/CyberShadow/dhcptest

Vladimir Panteleev
quelle
Geschrieben in D ... Es scheint möglich (mit ldc2) zu sein, statische Binärdateien zu erhalten mitldc2 -link-defaultlib-shared=false -static -L=-lphobos2-ldc -L=-lz dhcptest.d
Gert van den Berg
4

Warum nicht einfach eine DHCP-Anfrage stellen?

dhclient

Für eine ausführliche Ausgabe verwenden Sie:

dhclient -v

Sirex
quelle
14
Wahrscheinlich , weil das wird Ihr System nutzt die IP vom DHCP - Server zugewiesen , das nicht das, was man will , wenn zB versucht, um herauszufinden , ob es Gauner DHCP - Server in seinem Netzwerk.
ThiefMaster
6
-n Option hilft hier?
Akostadinov
1
Option -nscheint auf ISC DHCP Client v4.2.4 auf Ubuntu 14 LTS defekt zu sein?
Josip Rodin
Ich glaube nicht, -nwas du denkst.
Jasen
explainhell.com/explain?cmd=dhclient+-n : "Konfigurieren Sie keine Schnittstellen. Dies ist höchstwahrscheinlich in Kombination mit dem Flag -w hilfreich."
Mwfearnley
3

Es gibt ein Programm namens dhcping (mit nur einem p)

Platzhirsch
quelle
1

Auf Debian-Ubuntu-Systemen:

dhcpd -f

gibt gutes Feedback und testet die Konfiguration.

Auf RH-Systemen versuchen Sie:

/etc/rc.d/init.d/dhcpd configtest
John P. Fisher
quelle
0

Wenn Sie Nagios verwenden, können Sie es mit check_dhcp überwachen

Natxo Asenjo
quelle