本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹使用BOSH的Finesse連線背後的體系結構,以及如何診斷BOSH連線問題。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
使用通過同步HTTP的雙向流的連線稱為BOSH。
可擴充訊息和狀態通訊協定(XMPP)(也稱為Jabber)是使用者端 — 伺服器模型中的有狀態通訊協定。XMPP允許將結構化的可擴展標籤語言(XML)資料小片段從一個實體快速傳送到另一個實體。XMPP/Jabber廣泛用於即時消息(IM)和線上狀態應用。
所有XMPP實體均通過其Jabber ID(JID)標識。
JID編址方案:user@domain/resource
使用者 |
xmpp伺服器上的客戶端使用者名稱或會議室的名稱 |
域 |
XMPP伺服器完全限定的域名(FQDN) |
資源 |
使用者特定實體/終端的識別符號(例如,筆記型電腦、智慧手機等)、會話識別符號或公共節點名稱 |
注意:所有三種JID元件並非在所有情況下都使用。伺服器通常僅由域定義,會議室由user@domain定義,客戶端由user@domain/resource定義。
XMPP消息稱為stanzas。XMPP有三個核心標準:
1. <message>:一個方向,一個收件人
2. <presence>:一個方向,發佈到多個
3. <iq>:資訊/查詢 — 請求/響應
所有stanzas均具有自始至終地址,並且大多數stanzas也具有type、id和xml:langattributes。
Stanza屬性 |
目的 |
成長至 |
目標JID |
自 |
源JID |
類型 |
消息的用途 |
id |
用於將請求與<iq> stanzas的響應連結的唯一識別符號 |
xml:lang |
定義stanza中任何可讀的XML的預設語言 |
<message to='person1@example' from='person2@example' type='chat'>
<subject> Team meeting </subject>
<body>Hey, when is our meeting today? </body>
<thread>A4567423</thread>
</message>
如果Web應用程式需要與XMPP配合使用,則會出現多個問題。瀏覽器本身不支援透過傳輸控制通訊協定(TCP)的XMPP,因此所有XMPP流量必須透過在瀏覽器中執行的程式處理。Web伺服器和瀏覽器通過超文本傳輸協定(HTTP)消息進行通訊,因此Finesse和其他Web應用程式將XMPP消息包裝在HTTP消息中。
這種方法的第一個困難是HTTP是一種無狀態協定。 這表示每個HTTP請求與任何其他請求都不相關。但是,此問題可以通過應用方法(例如,通過使用cookie/post資料)來解決。
第二個困難是HTTP的單向行為。只有客戶端傳送請求,伺服器只能響應。伺服器無法推送資料,因此通過HTTP實施XMPP是不自然的。
原始XMPP核心規範(RFC 6120)中不存在此問題,其中XMPP已繫結到TCP。但是,如果要解決繫結到HTTP的XMPP的問題,例如,因為Javascript可以傳送HTTP請求,則有兩種可能的解決方案。兩者都需要HTTP和XMPP之間的網橋。
推薦的解決方案包括:
1.輪詢(傳統協定):重複的HTTP請求,請求在XEP-0025中定義的新資料:Jabber HTTP輪詢
2.長輪詢也稱為BOSH:傳輸協議,它通過有效使用多個同步HTTP請求/響應對,而不需要使用XEP-0124:HTTP繫結中定義並由XEP-0206:XMPP Over BOSH擴展的頻繁輪詢,來模擬兩個實體之間長壽命雙向TCP連線的語義
Finesse實現了BOSH,因為它從伺服器負載的角度和流量方面來看非常高效。使用BOSH是為了掩蓋伺服器不必在請求發出時立即作出響應這一事實。響應延遲到指定的時間,直到伺服器有客戶端的資料,然後作為響應傳送。客戶端收到響應後,就會發出新的請求,以此類推。
Finesse案頭客戶端(Web應用程式)每30秒通過TCP埠7443建立過時的BOSH連線。30秒後,如果沒有Finesse通知服務的更新,通知服務將傳送一個HTTP回覆,回覆正文為(近)200 OK。例如,如果通知服務更新了代理的存在或對話(呼叫)事件,則資料會立即傳送到Finesse Web客戶端。
此示例顯示了在Finesse客戶端和Finesse伺服器之間共用的第一個XMPP消息請求響應以設定BOSH連線。
Finesse client request:
<body xmlns="http://jabber.org/protocol/httpbind" xml:lang="en-US" xmlns:xmpp="urn:xmpp:xbosh" hold="1" ver="1.9" to="fin1.ucce.local" wait="30" xmpp:version="1.0" from="47483648@fin1.ucce.local" rid="704654808"/>
Finesse server response:
<body xmlns="http://jabber.org/protocol/httpbind" xmlns:stream="http://etherx.jabber.org/streams" authid="26779701" sid="26779701" secure="true" requests="4" inactivity="60" polling="5" wait="30" hold="1" ack="704654808" maxpause="300" ver="1.6"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features></body>
總結一下:
Finesse還實施XMPP規範XEP-0060:發佈訂閱。此規範的目的在於允許XMPP伺服器(通知服務)獲取發佈到XMPP節點的資訊(主題),然後傳送XMPP事件到訂閱該節點的實體。對於Finesse,電腦電話整合(CTI)伺服器會向Finesse Web服務傳送CTI消息,以通知Finesse有關配置更新的資訊,例如(但不限於)建立座席或聯絡服務隊列(CSQ)或呼叫資訊。然後,此資訊會轉換為XMPP消息,Finesse Web服務會將其發佈到Finesse通知服務。然後Finesse通知服務通過BOSH將XMPP消息傳送到訂用到某些XMPP節點的代理。
Finesse Web Services Developer Guide中定義的一些Finesse API對象是XMPP節點。代理和Supervisor Finesse Web客戶端可以訂閱某些XMPP節點的事件更新,以便獲得有關即時事件(如呼叫事件、狀態事件等)的最新資訊。此表顯示了已啟用pubsub的XMPP節點。
Finesse API對象 |
目的 |
訂閱 |
/finesse/api/User/<LoginID> |
顯示座席的狀態和組對映 |
代理和主管 |
/finesse/api/User/<LoginID>/對話方塊 |
顯示座席處理的呼叫 |
代理和主管 |
/finesse/api/User/<LoginID>/ClientLog |
用於從Send Error Report(傳送錯誤報告)按鈕捕獲客戶端日誌 |
代理和主管 |
/finesse/api/User/<LoginID>/Queue/<queueID> |
顯示隊列統計資訊(如果已啟用) |
代理和主管 |
/finesse/api/Team/<TeamID>/Users |
顯示屬於包含狀態資訊的某一團隊的座席 |
主管 |
/finesse/api/SystemInfo |
顯示Finesse伺服器的狀態。用於確定是否需要故障轉移 |
代理和主管 |
步驟 1.下載並安裝XMPP客戶端Pidgin。
步驟 2.導覽至Accounts > Modify > Basic,然後設定Login Options:
步驟 3.導覽至Accounts > Modify > Advanced並設定:
注意:埠5222僅用於Finesse Web客戶端可以使用埠7443連線到通知服務。
步驟 4.導航到工具>外掛,然後啟用XMPP控制檯。
步驟 5.導航到工具> XMPP控制檯> XMPP控制檯,開啟XMPP控制檯。
步驟 6.執行此<iq>消息可檢視所有存在的XMPP節點。
舉例來說:
在配置了兩個代理和兩個CSQ的實驗室環境中,此輸出包含在Finesse響應中:
每個瀏覽器都有一組開發工具。開發人員工具的Network頁籤顯示Finesse Web客戶端(瀏覽器)傳送和接收的HTTP消息。例如,此圖顯示Finesse Web客戶端如何傳送SystemInfo請求,該請求將每分鐘檢查Finesse Tomcat狀態作為故障切換檢查。此外,還會顯示來自BOSH連線的http-bind消息。如果在Web客戶端訂閱的XMPP節點上沒有要發佈的更新,則Finesse伺服器會在30秒內傳送迴響應。
發生BOSH斷開連線時,出現錯誤「Lost connection to {Finesse Server FQDN}」。請等待找到可訪問的Finesse伺服器……顯示在Finesse案頭頂部的紅色橫幅中。
之所以顯示此消息,是因為此時無法從Cisco Finesse通知服務接收XMPP訂用事件。因此,狀態資訊和呼叫詳細資訊不能顯示在座席案頭上。
對於UCCX,在瀏覽器斷開連線60秒後,代理將進入「註銷」狀態。座席可以處於「就緒」或「未就緒」狀態,以便註銷發生。
對於UCCE,Finesse最多需要120秒來檢測代理關閉瀏覽器或瀏覽器崩潰的時間,並且Finesse在向CTI伺服器傳送強制註銷請求之前等待60秒,這會導致CTI伺服器將代理置於「未就緒」狀態。在這些條件下,Finesse註銷代理可能需要180秒。與UCCX不同,代理會進入「未就緒」狀態,而不是「註銷」狀態。
註:UCCE中的CTI斷開未就緒與註銷狀態行為由PG /LOAD引數控制。根據Unified Contact Center Enterprise & Hosted Release 10.0(1)的發行說明,從UCCE 10.0開始,/LOAD引數已棄用。
有關UCCE Finesse案頭行為的詳細資訊,請參閱Cisco Finesse管理指南中Cisco Finesse故障轉移機制一章的案頭行為部分。
註:以後可根據產品要求更改計時器值。
Finesse和UCCX通知服務日誌可以通過RTMT或CLI收集:
檔案get activelog /desktop recurs compress
注意:僅在重現問題時設定調試級別日誌。重現問題後關閉debug。
註:Finesse 9.0(1)沒有調試級別記錄。Finesse 9.1(1)中引入了調試級別日誌記錄。在9.1(1)中啟用日誌記錄的過程與Finesse 10.0(1)- 11.6(1)不同。有關此過程,請參閱Finesse管理和適用性指南。
啟用Unified Contact Center Express(UCCX)的通知服務調試日誌,如下所示:
admin:utils uccx notification-service log enable
WARNING! Enabling Cisco Unified CCX Notification Service logging can affect system performance
and should be disabled when logging is not required.
Do you want to proceed (yes/no)? yes
Cisco Unified CCX Notification Service logging enabled successfully.
NOTE: Logging can be disabled automatically if Cisco Unified CCX Notification Service is restarted.
啟用Unified Contact Center Enterprise(UCCE)(Finesse Standalone)的通知服務調試日誌,如下所示:
admin:utils finesse notification logging enable
Checking that the Cisco Finesse Notification Service is started...
The Cisco Finesse Notification Service is started.
Cisco Finesse Notification Service logging is now enabled.
WARNING! Cisco Finesse Notification Service logging can affect system performance
and should be disabled when logging is not required.
Note: Logging can be disabled automatically if you restart the Cisco Finesse Notification Service
這些日誌位於/desktop/logs/openfire資料夾中,名為debug.log。
如圖所示,通知服務(Openfire)debug.log顯示與案頭的http繫結以及代理PC的IP地址和埠。
如圖所示,最近活動的0 ms表明會話仍處於活動狀態。
Openfire關閉空閒會話表示座席註銷可在60秒內觸發,Finesse可以將原因代碼為255的強制註銷傳送到CTI伺服器。在這些條件下,案頭的實際行為取決於UCCE中Logout on Agent Disconnect(LOAD)設定。在UCCX中,這始終是行為。
如果Finesse客戶端不向Finesse伺服器傳送http-bind消息,則日誌可以顯示會話運行時間並顯示會話關閉。
2017.06.17 00:14:34 Session (id=f382a015) was last active 0 ms ago: 1001003@xxxxx.xxxx.xxx.cisco.com/desktop 2017.06.17 00:15:04 Session (id=f382a015) was last active 13230 ms ago: 1001003@xxxxx.xxxx.xxx.cisco.com/desktop 2017.06.17 00:15:34 Session (id=f382a015) was last active 43230 ms ago: 1001003@xxxxx.xxxx.xxx.cisco.com/desktop 2017.06.17 00:16:04 Session (id=f382a015) was last active 63231 ms ago: 1001003@xxxxx.xxxx.xxx.cisco.com/desktop 2017.06.17 00:17:04 Unable to route packet. No session is available so store offline. <message from="pubsub. xxxxx.xxxx.xxx.cisco. com" to="1001003@xxxxx.xxxx.xxx.cisco.com.cisco.com" id="/finesse/api/User/1001003__1001003@xxxxx.xxxx.xxx.cisco.com__o5Aqb"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="/finesse/api/User/1001003"><item id="0d78a283-466d-4477-a07e-6e33a856fce388"><notification xmlns="http://jabber.org/protocol/pubsub"><Update>
這些日誌位於/desktop/logs/openfire資料夾中,名為info.log。 如果Finesse客戶端不向Finesse伺服器傳送http-bind消息,則日誌可以顯示會話變為非活動狀態。
2017.06.17 00:16:04 Closing idle session (id=f382a015): 1001003@xxxxx.xxxx.xxx. cisco.com/desktop
after inactivity for more than threshold value of 60 2017.06.17 00:16:04 A session is closed for 1001003@xxxxx.xxxx.xxx. cisco.com/desktop
這些日誌位於/desktop/logs/webservices資料夾中,名為Desktop-webservices.YYYY-MM-DDTHH-MM-SS.sss.log。 如果Finesse客戶端在指定的時間內未向Finesse伺服器傳送http-bind消息,則日誌可以顯示代理呈現變為不可用,並且60秒後,會發生呈現驅動註銷。
0000001043: XX.XX.XX.XXX: Jun 17 2017 00:16:04.630 +0530: %CCBU_Smack Listener Processor (1)-6-PRESENCE_NOTIFICATION_RECIEVED: %[FROM JID=1001003@xxxxx.xxxx.xxx.cisco.com/desktop][PRESENCE_TYPE=unavailable]:Finesse received a presence notifcation 0000000417: XX.XX.XX.XXX: Jun 17 2017 00:16:04.631 +0530: %CCBU_Smack Listener Processor (1)-6-UNSUBSCRIBE_REQUEST_SUCCESS: %[NodeId=/finesse/api/User/1001003/ClientLog][user_id=1001003@xxxxx.xxxx.xxx.cisco.com]: Sucessfully unsubscribed from a node on the XMPP server 0000001044: XX.XX.XX.XXX: Jun 17 2017 00:16:04.631 +0530: %CCBU_Smack Listener Processor (1)-6-AGENT_PRESENCE_MONITOR: %[message_string=Adding agent 1001003 into the expiry hash.]: 0000001051: XX.XX.XX.XXX: Jun 17 2017 00:16:35.384 +0530: %CCBU_pool-8-thread-1-6-AGENT_PRESENCE_MONITOR: %[message_string=[Expired] Removed agent from cache 1001003]: 0000001060: XX.XX.XX.XXX:: Jun 17 2017 00:17:04.632 +0530: %CCBU_CoreImpl-worker12-6-PRESENCE DRIVEN LOGOUT: %[agent_id=1001003]: Performing CTI Logout on basis of the agents unavailable presence 0000001061: XX.XX.XX.XXX:: Jun 17 2017 00:17:04.633 +0530: %CCBU_CoreImpl-worker12-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :39 , agentstate :
1, workmode : 0, reason code: 255, forceflag :1, agentcapacity: 1, agentext: 1001003, agentid: 1001003, supervisorid: null, ssoFlag=false][cti_message_name=SetAgentStateReq]: Message going to the backend cti server 0000001066: XX.XX.XX.XXX:: Jun 17 2017 00:17:04.643 +0530: %CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message=CTIAgentStateEvent [skillGroupState=1 (LOGOUT), stateDuration=0,
skillGroupNumber=-1, skillGroupPriority=0, agentState=1 (LOGOUT), eventReasonCode=255, numFltSkillGroups=0, CTIClientSignature=null, agentID=1001003, agentExtension=1001003, agentInstrument=null, agentID_Long=1001003,
duration=null, nextAgentState=null, fltSkillGroupNumberList=[], fltSkillGroupIDList=[], fltSkillGroupPriorityList=[], fltSkillGroupStateList=[], MRDId=1, agentMode=0]CTIMessageBean [invokeID=null, cti_sequence_id=105,
msgID=30, timeTracker={"id":"AgentStateEvent","CTI_MSG_RECEIVED":1497638824642,"CTI_MSG_DISPATCH":1497638824643}, msgName=AgentStateEvent, deploymentType=CCX]][cti_response_time=1][dispatch_phase=DnD-CHECKPOINT-3B]:
Decoded Message to Finesse from backend cti server
BOSH連線由Web客戶端設定,Finesse伺服器確定代理是否不可用。這些問題幾乎總是與瀏覽器、代理電腦或網路有關的客戶端問題,因為啟動連線的責任由客戶端承擔。
檢查以下問題:
1.網絡問題:
客戶端每分鐘都會連線到Finesse伺服器以計算漂移和網路延遲:
<PC date-time with GMT offset>: : <Finesse FQDN>: <Finesse server date-time with offset>:
Header : Client: <date-time>, Server: <date-time>, Drift: <drift> ms, Network Latency (round trip): <RTT> ms
2019-01-11T12:24:14.586 -05:00: : fin1.ucce.local: Jan 11 2019 11:24:14.577 -0600: Header : Client: 2019-01-1
如果出現任何日誌收集問題,請參閱排除Cisco Finesse案頭永續性日誌記錄問題
2.不支援的瀏覽器和/或版本:
根據相容性清單使用支援的瀏覽器/版本和設定:
3.由於其他頁籤/視窗的內容/處理而導致瀏覽器停滯狀態:
檢查座席工作流程以檢視他們是否執行以下操作:
4.電腦進入睡眠狀態:
檢查代理是否在註銷Finesse之前讓其電腦進入睡眠狀態,或者其電腦睡眠設定計時器是否很低。
5.客戶端電腦上的CPU或記憶體過大問題:
6.第三方小工具在後台執行意外的、有問題的活動:
在刪除所有第三方小工具的情況下測試Finesse案頭行為。
7.伺服器或客戶端上的NTP問題:
檢查以下問題:
1. Cisco Unified Communications Manager CTIManager服務斷開連線。 如果UCCX的所有CTIManager提供程式都處於關閉或崩潰狀態,則UCCX代理會看到紅色橫幅錯誤。如果發生這種情況,UCCE代理看不到紅色標語,但呼叫無法正確路由到代理。
註:核心轉儲檔名使用的格式為:core.<ProcessID>.<SignalNumber>.<ProcessName>.<EpochTime>。
示例: core.24587.6.CTIManager.1533441238
因此,可以根據紀元時間確定碰撞的時間。
2. Finesse/UCCX通知服務已停止或崩潰:
如果懷疑發生崩潰,請重新啟動Cisco Finesse Tomcat和通知服務。只有在網路出現故障時才會建議這樣做,否則會重新啟動斷開代理與Finesse伺服器的連線。
UCCE的步驟:
UCCX的步驟:
如果不瞭解所需的步驟並瞭解Fiddler的工作原理,配置Fiddler是一項有點挑戰性的任務。Fiddler是一個中間人Web代理,位於Finesse客戶端(Web瀏覽器)和Finesse伺服器之間。由於Finesse客戶端和Finesse伺服器之間的連線受到保護,這為Fiddler配置增加了一層複雜性,以便檢視安全消息。
由於Fiddler位於Finesse客戶端和Finesse伺服器之間,因此Fiddler應用程式需要為需要證書的所有Finesse TCP埠建立簽名證書:
Cisco Finesse Tomcat服務證書
Cisco Finesse(Unified CCX)通知服務證書
必須啟用HTTPS解密,Fiddler才能代表Finesse伺服器動態生成證書。預設情況下未啟用此功能。
如果未配置HTTPS解密,則會看到與通知服務的初始隧道連線,但不會顯示http-bind流量。Fiddler僅顯示:
Tunnel to <Finesse server FQDN>:7443
然後,由Fiddler簽名的Finesse證書必須由客戶端信任。如果這些證書不可信,則無法通過Establishing encrypted connection.. stage of Finesse login。
在某些情況下,從登入中接受證書例外不起作用,需要瀏覽器手動信任證書。
注意:提供的示例配置用於Windows 7 x64上的Fiddler v5.0.20182.28034(用於.NET 4.5和Mozilla Firefox 64.0.2)(32位),位於實驗室環境中。這些過程不能泛化到Fiddler的所有版本、所有瀏覽器或所有電腦作業系統。 如果您的網路運作中,請確保您瞭解任何組態可能造成的影響。有關詳細資訊,請參閱官方Fiddler文檔。
步驟 1.下載Fiddler
步驟 2.啟用HTTPS解密。導覽至Tools > Options > HTTPS,然後勾選Decrypt HTTPS traffic覈取方塊。
步驟 3.將開啟一個警告消息框,要求信任Fiddler根證書。 選擇Yes。
步驟 4.此時將開啟一個警告消息框,顯示以下消息:「您將安裝來自證書頒發機構(CA)的證書,該證書宣告表示: DO_NOT_TRUST_FiddlerRoot.....是否要安裝此證書?"。選擇Yes。
步驟 5.手動將Finesse發佈者和訂閱者證書新增到電腦或瀏覽器證書信任儲存。確保埠8445、7443和(僅適用於UCCE)443。例如,在Firefox上,無需從Finesse Operating System Administration頁面下載證書即可完成此操作:
選項>在選項(搜索)>Certificates > Servers > Add Exception > Location > Enter https://<Finesse server>:port為兩個Finesse伺服器的相關埠。
步驟 6.登入到Finesse,並檢視http-bind消息,該消息通過Fiddler將Finesse客戶端傳送到Finesse伺服器。
在提供的示例中,前5條消息顯示由Finesse伺服器響應的http-bind消息。第一條 消息包含消息正文中返回的1571位元組資料。正文包含有關代理事件的XMPP更新。最終http-bind消息已由Finesse客戶端傳送,但尚未從Finesse伺服器獲得響應。當您看到HTTP結果為null(-)且響應正文中的位元組數為null(-1)時,可以確定這一點。
更近的資料檢視:
XMPP消息的響應正文:
Wireshark是常用的資料包嗅探工具,可用於嗅探和解碼HTTPS流量。HTTPS流量是通過傳輸層安全(TLS)保護的HTTP流量。 TLS為主機提供完整性、身份驗證和機密性。它通常用於Web應用程式,但可以與任何使用TCP作為傳輸層協定的協定一起使用。安全套接字層(SSL)是TLS協定的前一個版本,不再使用,因為它是不安全的。這些名稱通常可互換使用,用於SSL或TLS流量的Wireshark過濾器為ssl。
注意:提供的示例配置適用於實驗室環境中Windows7 x64上的Wireshark 2.6.6(v2.6.6-0-gdf942cd8)和Mozilla Firefox 64.0.2(32位)。這些過程不能泛化到Fiddler的所有版本、所有瀏覽器或所有電腦作業系統。 如果您的網路運作中,請確保您瞭解任何組態可能造成的影響。有關詳細資訊,請參閱官方Wireshark SSL文檔。需要Wireshark 1.6或更高版本。
註:此方法只能用於Firefox和Chrome。此方法不適用於Microsoft Edge。
步驟 1. 在代理的Windows PC上,導航到控制面板>系統和安全>系統>高級系統設定環境變數……
步驟 2.導航到User <username> > New...的使用者變數
建立名為SSLKEYLOGFILE的變數。
建立一個檔案以將SSL預主金鑰儲存在專用目錄中:SSLKEYLOGFILE=</path/to/private/directory/with/logfile>
註:建立一個系統變數而不是使用者變數並/或將檔案儲存在非專用目錄中,但系統上的所有使用者都可以訪問安全性較低的premaster金鑰。
步驟 3.如果Firefox或Chrome處於開啟狀態,請關閉應用程式。重新開啟後,它們可以開始寫入SSLKEYLOGFILE。
步驟 4.在Wireshark上,導航到編輯>首選項……
導覽至Protocols > SSL。
步驟 5.輸入步驟2中配置的預置金鑰日誌檔名的位置。
步驟 6.使用Wireshark過濾器tcp.port==7443 && ssl,會發現Finesse客戶端和Finesse伺服器(通知服務)之間的安全HTTP通訊已解密。
修訂 | 發佈日期 | 意見 |
---|---|---|
2.0 |
31-May-2023 |
更新的標題、簡介、PII、偏置語言、SEO、替代文字、品牌要求、樣式要求、機器翻譯、德語、格式設定。 |
1.0 |
23-Jun-2017 |
初始版本 |