Dhcp-serverが提供するものを確認することは可能ですか?
Dhcp-serverを構成するとき、どのファイルから起動するかを指示します。例:pxelinux.0
、そしてそれがどこにあるべきか、例:192.168.0.112
。
実際にマシンをネットブートすることなく、これが何とかしてdhcp-serverから配信されたものであることを確認できますか?ここで、次のようなコマンドライントリックを探していると思います。
私はこれを読みました https://serverfault.com/a/875791/243665 しかし、それは私にすべてを教えてくれません。ブートファイル名が表示されますが、pxeserverの場所(192.168.0.112
) 不足している。例:
$ Sudo nmap --script broadcast-dhcp-discover
Starting Nmap 7.60 ( https://nmap.org ) at 2019-12-02 08:49 CET
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| IP Offered: 192.168.0.36
| DHCP Message Type: DHCPOFFER
| Server Identifier: 192.168.0.1
| IP Address Lease Time: 5m00s
| Subnet Mask: 255.255.255.0
| Router: 192.168.0.1
| Domain Name Server: 192.168.100.10, 192.168.100.11
| Domain Name: ulfexample.com
| Renewal Time Value: 2m30s
| Rebinding Time Value: 4m22s
|_ Bootfile Name: /pxelinux.0
$ Sudo nmap --script broadcast-dhcp-discover
スクリプトを使用しますbroadcast-dhcp-discover
ここで見つかりました:
https://svn.nmap.org/nmap/scripts/broadcast-dhcp-discover.nse
交換する必要があります:
result_table["IP Offered"] = r.yiaddr_str
と:
result_table["IP Offered"] = r.yiaddr_str
result_table["IP TFTP Server"] = r.siaddr_str
または、使用することもできます
$ Sudo nmap --script dhcp-discover
スクリプトは次のとおりです。
https://svn.nmap.org/nmap-exp/patrik/nmap-brute/scripts/dhcp-discover.nse
交換する必要があります:
table.insert(response, string.format("IP Offered: %s", result.yiaddr_str))
と:
table.insert(response, string.format("IP Offered: %s", result.yiaddr_str))
table.insert(response, string.format("IP TFTP Server: %s", result.siaddr_str))
どちらの場合も、NBPがDHCPオファーのfile
フィールドに格納され、TFTPサーバーIPがDHCPオファーのsiaddr
フィールドに格納されている場合、PXE情報を取得できるはずです。