Program baris perintah untuk menguji layanan DHCP


44

Apakah ada perintah seperti ping yang sederhana untuk menguji apakah layanan DHCP berjalan di jaringan? ... di Linux

Jawaban:


10

Bahkan jika Anda tidak menggunakan server pemantauan Nagios, Anda dapat mengambil biner check_dhcp atau mengkompilasinya dari sumber dan menggunakan centang untuk menguji DHCP-Server. Misalnya

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

38

Berdasarkan jawaban ini , dengan anggapan Anda telah menginstal nmap ( sudo apt install nmap):

sudo nmap --script broadcast-dhcp-discover

Tambahkan -e $interfaceopsi jika Anda memiliki lebih dari satu antarmuka jaringan. (Sebagai contoh nmap --script broadcast-dhcp-discover -e eth0:)

Output sampel:

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

Atau output ini di jaringan yang berbeda, dengan 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

ini tidak menemukan server DHCP saya.- pasti ada sesuatu yang salah dengan pc saya ... ethernet berfungsi, hanya saja tidak.
Jasen

Perhatikan bahwa skrip ini menggunakan alamat MAC tetap ( DE:AD:CO:DE:CA:FE) dan karenanya tidak akan berfungsi jika server DHCP Anda dikonfigurasikan dengan daftar putih.
Bob

@ Bob: Terima kasih. Itu bagus untuk diketahui
mivk

5

dhcpdump bagus untuk mengendus dan menampilkan paket DHCP di jaringan.

Misalnya

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

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

Anda dapat menggunakannya bersamaan dengan alat lain untuk melakukan permintaan DHCP, atau cukup menggunakannya untuk menonton PC / perangkat meminta DHCP.


2
Juga tersedia untuk macOS melalui brew install dhcpdump.
Keuangan fifi

Tampaknya ini hanya berfungsi jika ada lalu lintas dhcp aktual di jaringan.
mivk

@mivk Apakah kamu serius?
Ken Sharp

2
@ KenSharp Mengapa? Iya. dhcpdump hanya akan menampilkan sesuatu ketika klien di jaringan meminta alamat dhcp. Jika Anda tidak ingin menunggu dan tidak ingin mengirim permintaan dhcp sendiri tetapi hanya melihat mesin mana yang akan menjawab apa JIKA ada permintaan, maka ini bukan solusinya.
mivk

@mivk Kenapa? Karena poster itu mengatakan hal itu.
Duncan X Simpson

5

atau Anda dapat mencoba dhcpcddalam mode uji:

dhcpcd -T eth0

Gunakan dhcpcd -T eth0 -t 2untuk
kehabisan


4

Mengapa tidak membuat permintaan DHCP saja?

dhclient

Untuk penggunaan keluaran verbal:

dhclient -v


14
Mungkin karena itu akan membuat sistem Anda menggunakan IP yang ditetapkan oleh server DHCP yang bukan yang diinginkan ketika misalnya mencoba mencari tahu apakah ada server DHCP jahat di jaringannya.
ThiefMaster

6
Opsi -n membantu di sini?
akostadinov

1
Opsi -ntampaknya rusak pada ISC DHCP Client v4.2.4 di Ubuntu 14 LTS?
Josip Rodin

Saya tidak berpikir -nmelakukan apa yang Anda pikirkan.
Jasen

menjelaskanshell.com/explain?cmd=dhclient+-n : "Jangan konfigurasikan antarmuka apa pun. Ini kemungkinan besar berguna dalam kombinasi dengan flag -w."
mwfearnley

3

Ada program yang disebut dhcping (hanya dengan satu p)


1

Pada sistem Debian-Ubuntu:

dhcpd -f

memberikan umpan balik yang baik dan menguji konfigurasi.

Pada sistem RH coba:

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.