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

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

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

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

答案1

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

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

 DHCPREQUEST 
 DHCP: Host Name              = JUMBO-WS

或者MS Technet:附录 D:DHCP 数据包

DHCP 请求

帧的剩余部分(300 或 548 字节)是 DHCP 发现部分。其详细信息包括:

- 主机名 - 列出客户端计算机的计算机名称。

答案2

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

http://en.wikipedia.org/wiki/域名系统

答案3

路由器可以通过几种方式了解与其连接的计算机的名称。

  • 网络基本输入输出系统
  • DNS如果路由器正在运行内部 DNS 服务。
  • DHCP服务器也可以存储它,因为系统请求 DHCP 租约的名称是请求过程的一部分。

其他一些可能不值得注意,例如 WINS。

至于查找网络上的系统名称,您可以使用一个名为nbts扫描

相关内容