我在路由器的 DHCP 租用列表中看到了计算机的名称。我的 Android Galaxy Tab 列在字母数字名称下。如何设置我喜欢的友好名称?
答案1
答案2
打开终端。输入以下内容:
adb shell
su
getprop net.hostname
setprop net.hostname <new_hostname>
需要 root 访问权限。
答案3
主机名用于轻松识别和记住连接到网络的主机。它在启动时设置,例如在/etc/hostname
基于 Linux 的系统上。主机名也是DHCPREQUEST
(标准化为代码 12由 IETF 制定的 IP 地址分配规则,DHCP 客户端(本例中为 Android 设备)会向 DHCP 服务器(WiFi 路由器)发送 IP 地址分配规则。DHCP 服务器存储主机名,以提供 DNS 等服务。详情请参阅如何通过主机名 ping 本地网络主机?。
Android - 不使用 Linux 内核主机名服务- 使用属性net.hostname
(自 Android2.2) 为每个基于 的设备设置一个唯一的主机名android_id
。此主机名属性用于 DHCP 握手(Android 中添加的2.2和4.0在 Android 6 中net.hostname
继续使用(1,2,3,4)在新的Java DHCP 客户端当本地人dhcpcd
被抛弃时服务已被删除在 Android 7 中。自 Android 8 以来 - 当android_id
变得独一无二对于应用程序 -net.hostname
是没有更多设置,因此null
发送了DHCPREQUEST
。请参阅 Android 8隐私变更和安全增强功能:
net.hostname
现在为空,DHCP 客户端不再发送主机名
所以WiFi 路由器没有显示 Android 8+ 的主机名,我们也无法设置/取消设置/更改它。
然而在已 root 权限的设备上您可以net.hostname
使用命令手动设置setprop
,或添加一些init
文件.rc
以在每次启动时进行设置。或者使用第三方客户端busybox udhcpc
将所需的主机名和其他选项发送到路由器。请参阅通过 ADB Shell 连接 WiFi。
答案4
只是想参考我在使用 ADB 时遇到的另一个相关解决方案(并且需要 root 设备):http://nileshgr.com/2012/10/13/how-to-change-wifi-host-name-of-your-android-device。不过,我更喜欢 SO 上提供的 ADB 命令,而不是此链接,但这至少是另一种方法。