Відповіді:
Щоб дізнатися сервер DHCP, який дає вам IP, просто натисніть Ctrl+ Alt+ Tна клавіатурі, щоб відкрити термінал. Коли він відкриється, запустіть команди (и) нижче:
cat /var/lib/dhcp3/dhclient.leases
Або ви можете просто скористатися командою grep, щоб отримати адресу сервера DHCP.
grep dhcp-server-identifier /var/lib/dhcp3/dhclient.leases
АБО
grep dhcp-server-identifier /var/lib/dhcp/dhclient.leases
Для Ubuntu 14.04, 16.04 та 17.10 ви можете використовувати:
dhclient -d -nw eth0
Вибірка зразка:
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:0c:29:49:3e:67
Sending on LPF/eth0/00:0c:29:49:3e:67
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x4f723f9)
DHCPREQUEST of 192.168.138.136 on eth0 to 255.255.255.255 port 67 (xid=0x4f723f9)
DHCPOFFER of 192.168.138.136 from 192.168.138.254
DHCPACK of 192.168.138.136 from 192.168.138.254
RTNETLINK answers: File exists
bound to 192.168.138.136 -- renewal in 892 seconds.
dhclient
(тобто dhclient -d -nw eth0
) змішаний з уже запущеним dhclient
процесом у моєму випадку, в результаті чого з’являється нова IP-адреса.
В Ubuntu 14.04 значення /var/lib/dhcp/dhclient.leases
пусте. Фактичний файл оренди можна знайти в командному рядку dhclient
via ps
. Шукайте -lf
варіант. Ця команда повинна працювати в установках Ubuntu 14.04 (все ще діє з 17.10) :
cat $(ps aux | grep -o '[/]var/lib/NetworkManager/\S*.lease') | grep dhcp-server-identifier
dhclient.leases
не порожній.
В Ubuntu 16.04 ви можете спробувати
journalctl | grep DHCPACK
dhclient
, чи це працює з systemd-networkd ?
З:
sudo nmap --script broadcast-dhcp-discover -e eth0
sudo nmap --script broadcast-dhcp6-discover -6 # DHCPv6
sudo dhcpdump -i eth0
sudo tcpdump -i eth0 -nev udp port 68
Інші:
dhcp_probe
( dhcp-probe
пакет)