-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
问题重现
已经确定了摄像头的IP是192.168.1.8,而每次从chrome输入192.168.1.8时都会跳转到路由器的管理界面,而不是摄像头的管理界面。
解决过程
怀疑是chrome本身的DNS缓存机制导致
通过google查询如何强刷chrome的DNS缓存,通过以下方式强刷缓存之后。chrome算是可以通过192.168.1.8访问到摄像头的管理界面了。
Navigate to chrome://net-internals/#dns and click "Clear Host Cache"
Navigate to chrome://net-internals/#sockets abd click "Flush Socket Pools"
换了台电脑,结果还是无法通过192.168.1.8跳转到摄像头的管理界面
此时说明问题不仅仅出在浏览器本身了,操作系统层的DNS和路由器的DNS缓存可能都有问题。先尝试强刷操作系统层的DNS缓存。结果没有任何的作用,问题依然存在。
ipconfig /flushdns
寻找解决方案的过程发现核心问题是ARP,而不是DNS
DNS是域名系统(Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。ARP,即地址解析协议,实现通过IP地址得知其网卡的MAC地址即物理地址。- 总结:
DNS是应用层协议,简单点说就是将域名网址转为IP地址,是将域名与IP联系。而ARP是网络层协议,是在以太网中通过IP地址得到物理地址,将IP与MAC联系。他们两个是完全不同的东西。
了解原理之后继续解决问题。先确定摄像头的MAC,通过arp -a来观察192.168.1.8映射的是不是摄像头的MAC。
结果192.168.1.8这个IP映射的确实不是摄像头的MAC,然后通过arp -d 192.168.1.8删除错误的映射记录。
随后在终端通过ping 192.168.1.8让操作系统寻找正确的MAC并写入到ARP表中,反复两次操作之后,通过arp -a发现192.168.1.8指向了摄像头的MAC了。
到这里,这个问题算是告一段落。其实解决过程远比想象中复杂,中途尝试了换不同的浏览器换不同的电脑,也重启过路由器。如果自己的计算机网络基础知识扎实一点,可能这个问题解决起来就容易多了,不过在实践中学习也会更深刻。
遇到相同问题时如何应对
- 先确定摄像头的
MAC地址和IP地址,通过arp -a查看IP和MAC的对应关系。 - 通过
MAC找到IP,直接在浏览器输入IP看看是否跳转到摄像头的管理页面。 - 如果发现不对应的话,通过
arp -d cam-ip-addr来删除错误的映射关系,让操作系统去找正确的映射关系,反复操作几次。确保ARP的映射关系是正确的。 - 如果这时候浏览器还是无法跳转到摄像头的管理页面时,再着手解决浏览器的
DNS缓存问题。