今天與大家分享一個使用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自動化運維,敬請關注。