![如何在 OS X 上将内部 IP 地址解析为主机名?](https://linux22.com/image/1280176/%E5%A6%82%E4%BD%95%E5%9C%A8%20OS%20X%20%E4%B8%8A%E5%B0%86%E5%86%85%E9%83%A8%20IP%20%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E4%B8%BA%E4%B8%BB%E6%9C%BA%E5%90%8D%EF%BC%9F.png)
我正在尝试将 IP 地址(如 192.168.204.194)解析为计算机名称(如“JohnsMac”)。我希望能够获取我所知道的内部 IP 地址的本地计算机名称。
什么命令将返回 OS X 上的机器名称?
答案1
尝试nslookup:
#: nslookup 192.168.204.194
这要求您让 nslookup 指向知道如何进行此解析的 DNS 服务器。在我的个人网络中,我使用我的DD-WRT路由器作为 DNS 中继,并将其设置为解析内部网络(192.168.xx 网络)上主机的请求。
我能想到的另一件事是编辑位于以下位置的文件:
#: /etc/hosts
您必须是 root 才能编辑它。然后运行以下命令刷新 DNS 缓存:
#: sudo dscacheutil -flushcache
这将在 Mac 上本地解析 IP 地址和主机名,因此不需要 DNS 服务器。不过,关于它的工作原理有一些重大注意事项,因此请阅读手册页为了hosts 文件:
#: man hosts
由于“nslookup”和“host”命令忽略hosts文件,因此您必须使用其他命令来解析hosts文件,例如:
#: traceroute foo.com
或者
#: dscacheutil -q host -a ip_address 1.2.3.4
答案2
在 OS X 终端中,只需 ssh 进入管理员用户即可。
以下是一些在终端中使用的示例命令,尽管有多种方式可以使用 ssh
ssh adminusername@IPADDRESS
或者
ssh -l[root] IPADDRESS
下面是一个使用这个的例子,输出如下
ssh [email protected]
The authenticity of host '172.xx.101.xxx (172.xx.101.xxx)' can't be established.
RSA key fingerprint is d0:xx:27:xx:4b:xx:37:fb:xx:4a:4b:xx:2e:xx:ea:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.xx.101.xxx' (RSA) to the list of known hosts.
Password: (ENTER PASSWORD HERE)
Last login: Fri Feb 24 12:32:49 2012 from 172.xx.101.xxx
x-surgeryCPU:~ cadmin$
答案3
host 192.168.204.194
欲了解更多信息,你可以使用(免费)nmap:http://osxdaily.com/2013/03/26/nmap-for-mac-os-x/