มีคำสั่ง ping เหมือนง่าย ๆ เพื่อทดสอบว่าบริการ DHCP ทำงานบนเครือข่ายหรือไม่? ... บน Linux
มีคำสั่ง ping เหมือนง่าย ๆ เพื่อทดสอบว่าบริการ DHCP ทำงานบนเครือข่ายหรือไม่? ... บน Linux
คำตอบ:
แม้ว่าคุณจะไม่ใช้เซิร์ฟเวอร์การมอนิเตอร์ Nagios คุณสามารถ grep check_dhcpไบนารี่หรือรวบรวมจากแหล่งที่มาและใช้การตรวจสอบเพื่อทดสอบDHCP-เซิร์ฟเวอร์ เช่น
./check_dhcp -v -s <dhcp_server_address> -r <expected_ip_address> -m <mac_address_touse>
ตามคำตอบนี้สมมติว่าคุณได้ติดตั้ง nmap ( 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
) และดังนั้นจะไม่ทำงานหากเซิร์ฟเวอร์ DHCP ของคุณได้รับการกำหนดค่าด้วยรายการที่อนุญาต
dhcpdump
เหมาะสำหรับการดมและการแสดงแพ็กเก็ต DHCP บนเครือข่าย
เช่น
# 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)
---------------------------------------------------------------------------
คุณสามารถใช้ร่วมกับเครื่องมืออื่นเพื่อทำตามคำขอ DHCP หรือใช้เพื่อดูพีซี / อุปกรณ์ค้นหา DHCP
brew install dhcpdump
ผ่าน
หรือคุณสามารถลองdhcpcd
ในโหมดทดสอบ:
dhcpcd -T eth0
dhcpcd -T eth0 -t 2
เพื่อหมดเวลาหลังจาก 2 วินาที
ฉันได้เขียนโปรแกรมไคลเอนต์ทดสอบ DHCP มาระยะหนึ่งแล้วทำงานบน Windows และ POSIX:
ldc2
) ที่จะได้รับไบนารีคงที่ด้วยldc2 -link-defaultlib-shared=false -static -L=-lphobos2-ldc -L=-lz dhcptest.d
ทำไมไม่เพียงแค่ทำการร้องขอ DHCP
dhclient
สำหรับการใช้เอาต์พุต verbose:
dhclient -v
-n
น่าจะใช้งานไม่ได้กับ ISC DHCP Client v4.2.4 บน Ubuntu 14 LTS
-n
จะทำในสิ่งที่คุณคิด
มีโปรแกรมที่เรียกว่า dhcping (มีเพียงหนึ่ง p)
บนระบบ Debian-Ubuntu:
dhcpd -f
ให้ข้อเสนอแนะที่ดีและทดสอบการกำหนดค่า
ในระบบ RH ลอง:
/etc/rc.d/init.d/dhcpd configtest
ถ้าคุณใช้ nagios คุณสามารถตรวจสอบได้ด้วยcheck_dhcp