概要
WiresharkでStudioからOrchestratorへのHTTPリクエストを解読する方法をご案内します。
※注:私の投稿する内容は個人の見解であり、所属団体を代表するものではありません。
環境
・Azure VM
・Microsoft Windows Server 2019-Datacenter
・Orchestrator v2023.10.4
・Studio v2023.10.4
WiresharkにOrchestratorの証明書の情報を登録する
Orchestrator端末でWiresharkの [Preference] > [Protocols] > [TLS]を開く
[RSA keys list] > [Edit] をクリックする
次の内容でOrchestratorの証明書を登録して、OKを押下する
Property | Value |
---|---|
IP address | any |
Port | 443 |
Protocol | http |
Key File | Orchestratorの証明書の格納先(例:C:\Users\test\Desktop\orchestrator.pfx) |
Password | Orchestratorの証明書のパスワード |
ロボット端末で暗号スイートを変更する
暗号スイートで(EC)DHEが利用されている場合、OrchestratorへのHTTPリクエストは解読できません。WiresharkでServer Hello時の暗号スイートを確認すると(EC)DHEが使用されておりました。
以下の記載に当てはまるので、暗号スイートに(EC)DHEを利用しないように設定します。
The cipher suite selected by the server is not using (EC)DHE
暗号スイートを変更するためにはローカルグループポリシー>[コンピューターの構成] - [管理用テンプレート] - [ネットワーク] - [SSL 構成設定] - [SSL 暗号の順位]より(EC)DHEの順位を全てピックアップして、現在の位置より降順におきます。
[SSL暗号の順位]の並びを全てコピーしてコードエディタに貼り付け、降順に変更後もう一度[SSL暗号の順位]に貼り付けます。
セッションの停止
セッションが開始している状態ではHTTPリクエストの解読ができないので、タスクマネージャー>[詳細]タブより、(ユーザーモードの場合)UiPath.Service.UserHost.exeのタスクを終了します。
※サービスモードの場合、UiPath.Service.Host.exeのタスクを終了します。
StudioやAssistantについてもWiresharkでキャプチャを行う前に一度タスクマネージャーから終了してください。
The Session has not been resumed.
ネットワークインターフェースを選択する
StudioからOrchestratorにパブリッシュする
パブリッシュ後に次の赤いボタンを押下して停止します。
ここではStudioからOrchestratorにパブリッシュする例を挙げていますがStudio-Orchestrator間のどのような操作でもHTTPリクエストを確認できます。
HTTPリクエストの確認
Orchestratorの証明書の登録、暗号スイートの変更、セッションの停止後に問題なく通信をデコードできていることが確認できました。
※今回のトラブルシューティングではStudioからOrchestratorにパッケージをアップロードする際の通信を確認します。Wiresharkからは、パッケージアップロード時のPOST /odata/Processes/UiPath.Server.Configuration.OData UploadPackageのapiが確認できました。
取得したベアラートークン(JSON Web Token)の中身を確認(復号)したい場合は、JWT.IO にベアラートークンを貼り付けることで可能です。
おわりに
本記事で紹介した内容が皆様のお役に立てれば幸いです。