我的 Belkin 路由器有一个设置本地域名的选项,我怀疑它允许我使用这个域来寻址我自己网络中的主机。默认情况下,这设置为“Belkin”。
是否可以像这样在我的网络中调用主机,例如ping foobar.belkin
而不是ping 192.168.2.4
?
问题是,我的路由器内部页面显示了所有设置的主机名(dhclient
似乎可以正常工作)并且路由器本身可以作为 访问router.belkin
,但没有其他主机可以访问。
我的问题是路由器知道每个主机的名称,但主机不知道彼此的名称。我该如何解决?
注意:Nmap 显示 DNS 的端口 udp/53 在我的路由器上是开放的,但我找不到任何方法在 Web 界面上配置它。
添加:// 这是“Belkin F7D3302 v1”
yPh*_*hil 26
如果 LAN 上的机器运行相对现代的操作系统,那么您可以通过将“.local”附加到它们的主机名来访问它们,如下所示:
ping MACHINE_NAME.local
要从给定的 IP 获取名称,请使用
avahi-resolve-address MACHINE_IP
Run Code Online (Sandbox Code Playgroud)
要查看本地网络上所有连接的机器名称和 IP,请使用以下 BASH 命令:
px-lan-scan () {
LOCAL_MASK=$(ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' | cut -d. -f1,2,3)
GATEWAY=$(route -n | \grep '^0.0.0.0' | awk '{print $2}')
if [ $1 ] ; then range=$1 ; else range="10" ; fi
for num in $(seq 1 ${range}) ; do
IP=$LOCAL_MASK.$num
if [[ $IP == $GATEWAY ]] ; then MACHINE="gateway" ; else MACHINE=$(avahi-resolve-address $IP 2>/dev/null | sed -e :a -e "s/$IP//g;s/\.[^>]*$//g;s/^[ \t]*//") ; fi
ping -c 1 $IP>/dev/null
if [ $? -eq 0 ] ; then
echo -e "UP $IP \t ($MACHINE)" ; else
echo -e "DOWN $IP"
fi
done
}
Run Code Online (Sandbox Code Playgroud)
小智 14
通常,路由器不会充当 DNS 服务器,但它们通常会充当 DNS 代理。也就是说,在 DHCP 中,他们将提供自己的 IP 作为 DNS 服务器,然后他们将转身访问真正的 DNS 服务器。如果这样做,那么我认为您可以解析那些本地的 .belkin 名称。
检查 ipconfig /all 并查看默认网关和 DHCP 服务器是否具有相同的 IP。如果没有,则输入 nslookup,然后在提示符处输入“server ROUTER_IP”并尝试在 google.com 上进行查找。如果可行,那么路由器中可能有一个设置,让它提供自己的 IP 作为未检查的 DNS 服务器。
归档时间: |
|
查看次数: |
131587 次 |
最近记录: |