我的路由器如何知道我的主机名以及如何找出其他计算机的主机名?

cra*_*acq 7 networking linux router

我有一个 cisco 路由器,通过它我将 2 台运行 ubuntu 的电脑连接到互联网。我通过DHCP获取IP地址。当我检查连接到路由器的 pc 列表时,路由器管理页面会在主机名旁边显示 IP 地址。似乎通过使用 DHCP,路由器以某种方式能够从“/etc/hostname”或 /etc/hosts”中捕获主机名,对吗?问题是,如果我通过编辑文件来更改我的电脑的名称“/etc/hostname”甚至“/etc/hosts”,路由器仍然存储以前的主机名,即使重置,我怎样才能让路由器存储更新的主机名?

另一方面,如何找出连接到我的网络的计算机的主机名?nmap 似乎没有完成这项工作。我是否必须为网络中的所有计算机设置一个域?我怎么能这样做?

Red*_*ick 6

当您的 PC 打开时,它使用 DHCP 协议来请求 IP 地址和网络设置,PC 提供的部分信息是它的名称。DHCP 服务器记住这一点并将其添加到其内部 DNS 数据库中。当同一台计算机(您的 Cisco 路由器)同时充当 DHCP 和 DNS 服务器时,这会起作用。

请参阅DHCP(动态主机配置协议)基础知识

 DHCPREQUEST 
 …
 DHCP: Host Name              = JUMBO-WS
Run Code Online (Sandbox Code Playgroud)

MS Technet:附录 D:DHCP 数据包

DHCP 请求
……
帧的其余部分(300 或 548 字节)是 DHCP 发现部分。其详细信息包括:
...
- 主机名 - 列出客户端计算机的计算机名称。


jwi*_*ir3 0

嗯,路由器本身有一个主机名列表。对于某些路由器来说,它们实际上运行的是自己的 Linux 版本。通常,路由器会通过 DNS 解析协议找到一组主机名:

http://en.wikipedia.org/wiki/Domain_Name_System