今天与大家分享一个使用wireshark分析和解决小网络故障。顺便预告一下,一直想分享的ansible网络自动化运维,后面会以一个小系列的形式,结合官网文档与实际需求,与大家分享。
本次故障:在登录salesforce之前,需要对用户进行sso的认证,当点击sso的连接后跳出无法打开,但是直接复页面提示的连接可以正常访问。如下图
图一salesforce登录界面
点击重定向的认证页面后,返回找不到相关页面,如下图:
图二返回的无法访问提示
下面我们手动访问“找不到与一下网址对应的网页:”
图三认证页面
显然sso认证是没问题了。这只是表面现象,最终的是看到数据包。
1、我们在访问salesforce的pc抓包:
可以看到pc至salesforce间ssl握手协议的全过程,在建立完ssl隧道保护后,点击图1,看到如下数据包:
点击后重定向至sso的地址,并且完成了ssl的握手协议。
认证通过后,pc会继续去访问salesforce,但是服务器没有与pc回应tcp的ack+syn:
很明显,问题出在salesforc至sso server之间,在sso的出口抓包:
我们在梳理一下逻辑:
①client访问salesforce,页面重定向至sso认证;
②client与sso进行用户认证,通过后,跳转回salesforce页面
③salesforce取得sso的认证结果。
显然出现在第三步,通过数据包能直观有说服力的展现问题点。
好了本次就是简单的小故障分享,再次预告后面会出一系列的ansible自动化运维,敬请关注。