Chương trình dòng lệnh để kiểm tra dịch vụ DHCP


44

Có một lệnh giống như ping đơn giản để kiểm tra xem dịch vụ DHCP có chạy trên mạng không? ... trên Linux

Câu trả lời:


10

Ngay cả khi bạn không sử dụng máy chủ theo dõi Nagios, bạn có thể grep nhị phân check_dhcp hoặc biên dịch nó từ nguồn và sử dụng kiểm tra để kiểm tra DHCP-Server. Ví dụ

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

37

Dựa trên câu trả lời này , giả sử bạn đã cài đặt nmap ( sudo apt install nmap):

sudo nmap --script broadcast-dhcp-discover

Thêm -e $interfacetùy chọn nếu bạn có nhiều giao diện mạng. (Ví dụ nmap --script broadcast-dhcp-discover -e eth0:)

Đầu ra mẫu:

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

Hoặc đầu ra này trên một mạng khác, với 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

điều này không tìm thấy máy chủ DHCP của tôi.- phải là một cái gì đó sai với máy tính của tôi ... ethernet hoạt động, chỉ là không phải vậy.
Jasen

Lưu ý rằng tập lệnh này sử dụng địa chỉ MAC cố định ( DE:AD:CO:DE:CA:FE) và do đó sẽ không hoạt động nếu máy chủ DHCP của bạn được định cấu hình với danh sách trắng.
Bob

@Bob: Cảm ơn. Đó là điều tốt để biết
mivk

5

dhcpdump là tốt để đánh hơi và hiển thị các gói DHCP trên mạng.

Ví dụ

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

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

Bạn có thể sử dụng nó cùng với một công cụ khác để thực hiện các yêu cầu DHCP hoặc chỉ sử dụng nó để xem DHCP / thiết bị truy vấn DHCP.


2
Cũng có sẵn cho macOS thông qua brew install dhcpdump.
tài chính fifi

Điều này dường như chỉ hoạt động nếu có lưu lượng dhcp thực tế trên mạng.
mivk

@mivk Bạn có nghiêm túc không?
Ken Sharp

2
@KenSharp Tại sao? Đúng. dhcpdump sẽ chỉ hiển thị một cái gì đó khi một máy khách trên mạng yêu cầu một địa chỉ dhcp. Nếu bạn không muốn chờ đợi và không muốn tự mình gửi yêu cầu dhcp mà chỉ xem máy nào sẽ trả lời NẾU có yêu cầu, thì đây không phải là giải pháp.
mivk

@mivk Tại sao? Bởi vì người đăng đã nói chính xác điều đó.
Duncan X Simpson

5

hoặc bạn có thể thử dhcpcdtrong chế độ thử nghiệm:

dhcpcd -T eth0

Sử dụng dhcpcd -T eth0 -t 2để hết thời gian chờ sau 2 giây
Maarten Wolzak


4

Tại sao không chỉ thực hiện một yêu cầu DHCP?

dhclient

Đối với đầu ra dài dòng sử dụng:

pháp -v


14
Có lẽ bởi vì điều đó sẽ khiến hệ thống của bạn sử dụng IP được chỉ định bởi máy chủ DHCP, đây không phải là điều người ta muốn khi ví dụ như cố gắng tìm hiểu xem có máy chủ DHCP giả mạo nào trong mạng của anh ta không.
ThiefMaster

6
-n tùy chọn giúp ở đây?
akostadinov

1
Tùy chọn -ndường như bị hỏng trên ISC DHCP Client v4.2.4 trên Ubuntu 14 LTS?
Josip Rodin

Tôi không nghĩ -nlàm những gì bạn nghĩ nó làm.
Jasen


3

Có một chương trình gọi là dhcping (chỉ với một p)


1

Trên các hệ thống Debian-Ubuntu:

dhcpd -f

cung cấp thông tin phản hồi tốt và kiểm tra cấu hình.

Trên các hệ thống RH hãy thử:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.