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

・2 分钟阅读

问题:

我有一个思科路由器,我把2台运行ubuntu的电脑连接到互联网上。 我通过DHCP获得ip地址。 当我检查连接到路由器的电脑列表时,路由器管理员页面会显示主机名和主机名。 通过使用 DHCP,路由器已经能够从"/etc/hostname" 或/etc/hosts", 获取主机名了, 我做对了吗? 问题是,如果我通过编辑文件"/etc/hostname "甚至"/etc/hosts "来更改我的电脑名称,路由器仍然存储以前的主机名,即使重置,我如何让路由器存储更新的主机名?

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


回答 1:

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

请参见 DHCP ( 动态主机配置协议) basic 。


 DHCPREQUEST 


 …


 DHCP: Host Name = JUMBO-WS



MS technet:appendix D: DHCP Packets

DHCP请求

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

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


回答 2:

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

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


回答 3:

路由器有几种方法可以知道连接到它的计算机的名称。

  • 如果路由器正在运行内部DNS服务,则为 DNS
  • DHCP服务器也可以存储它,因为DHCP租约是请求进程的一部分,系统请求的名称。

有一些可能是不值得注意的,如 WINS 。

关于在网络上查找系统名称,你可以使用一个名为 nbtscan的工具。


讨论
Tony profile image