记 DNS 解析失败跟踪调试

昨天下午,运维改完了域名,昨天晚上客服就陆续反映客户端有小部分新老客户登录失败。

运维坚持说,改动的是其它域名,不影响当前客户端。

好吧,客户端工程师只能去问题客户机器上远程查看日志,查看问题。

因为客户端版本众多,每个版本都有不同的特性,所以这给在客户端机器上找问题增加了难度。

因为新版本客户端域名都是从本地数据库读出来的,按照这样的逻辑,本地存储中确实没有运维修改过的域名。

而且本地存储中所有的域名,在客户的机器上 ping 都是通的。

排除了域名问题,客户端工程师,一直在问题客户机器上忙碌,不停地修改 dll,替换客户机器上的旧版本,一天下来竟然找不出问题。

旁晚时分,无奈把域名恢复,客户端竟然好用了。。。。

再分析原因,发现离职的同事图方便,在客户端中,域名直接写死在代码中,旧版本的代码在短时间内一直没有得到很好的回溯,这确实是个坑。

问题解决了,静下心来想想,觉得解决域名问题的方法,还是太笨了。直接在客户机器上替换 dll 调试,花了一天时间,人家还是脾气好的,不好的,直接骂爹喊娘了!

这时候即便在客户机器上,上个抓包工具(wireshark),扑捉 dns 解析,也不至于查不到被写死在代码里面的域名问题。


下面描述一下通过wireshark捕捉 dns 的方法,方法挺简单的。

1、查看本地机器 DNS 设置。

DNS

2、打开 wireshark 捕获本地网络 DNS 解析,浏览器输入有效的百度域名,再输入无效域名。

有效的域名会返回 ip 地址,无效的域名会返回“No such name ...”

wireshark 分析 DNS

3、总结:

DNS 解析失败,链接失败,道理是这么样,但实际情况嘛,人急起来,往往都是用最笨的方法去解决问题,除非已经踩过坑,有经验积累能马上定位问题,否则关键时刻,头脑还得清晰!

客户端版本维护确实不严谨!域名竟然直接写入代码中,这是什么人,是怎么混进来的,靠关系吗~~ 底层员工出现问题,领导也脱不了干系,所以良好的团队和良好的管理是密不可分的!

运维修改域名前没有很好地查看以前的记录,是否与业务有交集。所以企业团队之间的交流还有待加强!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容