डीएचसीपी सेवा का परीक्षण करने के लिए कमांड लाइन कार्यक्रम


44

क्या परीक्षण करने के लिए एक साधारण पिंग जैसी कमान है कि क्या एक डीएचसीपी सेवा नेटवर्क पर चल रही है? ... लिनक्स पर

जवाबों:


10

यहां तक ​​कि अगर आप एक Nagios निगरानी सर्वर का उपयोग नहीं करते हैं, तो आप check_dhcp बाइनरी को grep कर सकते हैं या इसे स्रोत से संकलित कर सकते हैं और DHCP- सर्वर का परीक्षण करने के लिए चेक का उपयोग कर सकते हैं। उदाहरण के लिए

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

37

इस उत्तर के आधार पर , मान लें कि आपने नैम्प स्थापित किया है ( sudo apt install nmap):

sudo nmap --script broadcast-dhcp-discover

-e $interfaceयदि आपके पास एक से अधिक नेटवर्क इंटरफ़ेस है तो विकल्प जोड़ें । (उदाहरण के लिए: nmap --script broadcast-dhcp-discover -e eth0)

नमूना उत्पादन:

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

या 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

यह मेरे डीएचसीपी सर्वर को नहीं मिला ।- मेरे पीसी के साथ कुछ गलत होना चाहिए ... ईथरनेट काम करता है, बस ऐसा नहीं है।
जैसन

ध्यान दें कि यह स्क्रिप्ट एक निश्चित मैक पते ( DE:AD:CO:DE:CA:FE) का उपयोग करता है और इसलिए काम नहीं करेगा यदि आपका डीएचसीपी सर्वर एक श्वेतसूची के साथ कॉन्फ़िगर किया गया है।
बॉब

@ याकूब: धन्यवाद। यह अच्छा पता करने के लिए है
mivk

5

dhcpdump नेटवर्क पर डीएचसीपी पैकेट को सूँघने और प्रदर्शित करने के लिए अच्छा है।

उदाहरण के लिए

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

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

आप डीएचसीपी अनुरोधों को करने के लिए किसी अन्य टूल के साथ संयोजन में इसका उपयोग कर सकते हैं, या बस इसका उपयोग पीसी / डिवाइस क्वेरी डीएचसीपी देखने के लिए कर सकते हैं।


2
MacOS के लिए भी उपलब्ध है brew install dhcpdump
पांचई वित्त

यह केवल तभी काम करता है जब नेटवर्क पर वास्तविक dhcp ट्रैफ़िक हो।
15

@mivk क्या आप गंभीर हैं?
केन तीव्र

2
@KenSharp क्यों? हाँ। dhcpdump केवल कुछ दिखाएगा जब नेटवर्क पर कोई ग्राहक dhcp पते का अनुरोध करता है। यदि आप प्रतीक्षा नहीं करना चाहते हैं और अपने आप को dhcp अनुरोध नहीं भेजना चाहते हैं, लेकिन केवल यह देखें कि कौन सी मशीन उत्तर देगी कि क्या कोई अनुरोध था, तो यह समाधान नहीं है।
mivk

@ शिवक क्यों? क्योंकि पोस्टर ने ठीक यही कहा था।
डंकन एक्स सिम्पसन

5

या आप dhcpcdपरीक्षण मोड में कोशिश कर सकते हैं :

dhcpcd -T eth0

dhcpcd -T eth0 -t 22 सेकंड के बाद टाइमआउट करने के लिए उपयोग करें
Maarten Wolzak

4

मैंने कुछ समय पहले एक डीएचसीपी टेस्ट क्लाइंट प्रोग्राम लिखा था, जो विंडोज और पॉसिक्स पर काम करता है:

https://github.com/CyberShadow/dhcptest


डी में लिखा ... यह संभव है (साथ ldc2) स्थिर बायनेरिज़ पाने के लिएldc2 -link-defaultlib-shared=false -static -L=-lphobos2-ldc -L=-lz dhcptest.d
गर्ट वैन डेन बर्ग

4

सिर्फ डीएचसीपी अनुरोध क्यों नहीं किया जाता?

dhclient

क्रिया आउटपुट के उपयोग के लिए:

dhclient -v


14
शायद इसलिए कि यह आपके सिस्टम को डीएचसीपी सर्वर द्वारा असाइन किए गए आईपी का उपयोग करेगा जो कि ऐसा नहीं है जब कोई चाहता है जैसे कि यह पता लगाने की कोशिश कर रहा है कि क्या उसके नेटवर्क में दुष्ट डीएचसीपी सर्वर हैं।
ThiefMaster

6
एक विकल्प यहाँ मदद करता है?
अकोस्टैडिनोव

1
विकल्प -nलगता है कि ISC DHCP Client v4.2.4 को Ubuntu 14 LTS पर तोड़ा जा सकता है?
जोसिप रॉडिन

मुझे नहीं लगता -nकि आपको लगता है कि यह क्या करता है।
जैसन

बताते हैं ।.com/explain?cmd=dhclient+-n: "किसी भी इंटरफेस को कॉन्फ़िगर न करें। यह -w ध्वज के साथ संयोजन में उपयोगी होने की संभावना है।"
mwfearnley


1

डेबियन-उबंटू सिस्टम पर:

dhcpd -f

अच्छी प्रतिक्रिया देता है और कॉन्फ़िगरेशन का परीक्षण करता है।

आरएच सिस्टम पर प्रयास करें:

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.