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