如何应对如此这般的计算机网络面试题?
收藏

面试问到客户端访问服务器时“服务器没有响应”,应该怎么排查问题。这种应该怎么回答?


之前做开发只关注代码和业务实现了,这种问题一问我就没准备好怎么回答。
 
 

无论是面试程序员还是网络工程师,这个面试题放之四海而皆准,没有标准答案,区别只是回答的深度与广度。
 
初级工程师
  • 做为入门级工程师,你应该Ping 这个网站的域名,如果可以Ping的通,说明域名解析成功工作,到服务器的网络连通性是好的。

  • 如果没有Ping 通,需要检查域名解析得到IP是什么?如果域名解析不工作,Ping 域名服务器,如果Ping不通域名服务器,需要Ping 自己的网关。
     
  • Ping不通网关,需要Ping 自己的IP,如果连Ping 127.0.0.1都pIng不通,那TCP/IP协议栈出问题了,或者本机防火墙工作不正常。
     
  • 如果Ping自己可以Ping得通,但无法Ping 网关,那网关可能挂了,或者网线松掉了,也有可能网关把你黑名单过滤掉了。
 
这一番折腾,80%的概率可以定位是什么问题。
 


中级工程师
  • 在上述的排错中如果无法定位问题,已经懂得使用抓包软件来排错了,而且还学会如何配置过滤器将感兴趣的流量过滤出来。

  • 看看三次握手能否成功建立,TCP Option里的字段,特别是MSS的大小,是否由于MSS太大,而造成的通信故障。尝试将MSS修改小到1380或更小,看看效果,如果可以修复,那么就是MSS造成的。

  • 如果光有出去的报文,没有返回的报文,说明有可能发出去的包被防火墙过滤掉,或者返回的包被过滤掉。究竟在哪里被过滤掉,可以使用traceroute 服务器的IP来定位。

  • 当然还有可能本机的IP被服务器拉黑,这种情况也是存在的,服务器通过智能算法,检测到本机IP曾经试图恶意攻击过服务器,所以拉黑处理。

 
高级工程师
  • 想的则是非对称路由,有状态防火墙,防火墙状态不同步。
  • 还会想DNS域名解析得到的IP,是不是真正服务器的IP,是不是被污染了?会尝试使用科学上网的方法,使用国际域名服务器进行解析,尝试连接服务器。如果科学上网可以连接,那么可以断定,域名解析可能被污染了,也有可能服务器被大防火墙拉黑了。
  • 是不是客户端的TLS版本与服务器的版本没有交集?
 
问题的可能性还有很多,就不一一列举了。
以上对应三个级别的工程师的技能列表,各位可以对照看看自己处于什么知识阶段。会员群三个层次的学员都有,欢迎加入。

广告
会员群报名费300元, 7折优惠,优惠价210/年/人,仅剩18个名额,以付款时间为准,入群不退费。

 

报名的同学可以公众号后台发关键字会员群,获取报名链接。成功付款的同学,在公众号后台请出示自己的付款信息,稍后会得到报名群的二维码。

 
版权声明
从2019.09.28日起,停止一切形式的转载授权,任何形式的转载将视为侵权!任何单位或个人,想要转载公众号的文章,需要在公众号后台发“转载”联系转载,谢谢配合!