SSLを介したMySQLへの接続

ZillGate

SSLを使用してMySQLに接続するPythonスクリプトを作成しようとしています。私は、サンプルコードをテストしている1(セクション「SSL経由の接続」)、およびそれが正常に動作します。

ただし、wiresharkを使用して送信されたパケットをキャプチャすると、TLSv1プロトコルパケットは見つかりませんでしたが、TCPパケットのみが見つかりました。

ここに画像の説明を入力してください

nginxのHTTPSをテストしたときに、wiresharkがTLSv1パケットをキャプチャするため、TLSv1パケットを期待しています。

ここに画像の説明を入力してください

SSLがオンになっているのに、MySQLセッション中にTLSv1パケットをキャプチャできない理由を教えてください。

ありがとうございました!

参照:

1 http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html

ブルーノ

HTTPSは、TCP接続の開始から確立されているSSL / TLS接続(「暗黙の」SSL / TLS)に依存するプロトコルです。すべてのHTTPトラフィックはSSL / TLSを介して交換され、個別のポートで行われるため、Wiresharkは最初にSSL / TLSとしてデコードすることが期待されていることを認識しています。

MySQLプロトコルはそうではありません(「明示的な」SSL / TLSです)。通信はプレーンテキストで開始され、SSL / TLSにアップグレードされます。(これら2つのモードの詳細については、ここここを参照してください。)

あなたが見ればMySQLのネットワークプロトコルのドキュメント、サーバーはまだ両方平野およびSSL / TLS接続(あなたのキャプチャで見ることを「サーバーの挨拶」)に最初にその初期ハンドシェイクメッセージを送信します。MySQL内部ドキュメントのSSLセクションにも詳細な例があります

場合によっては、同じポートでの別のプロトコルの通信の一部である場合、WiresharkはSSL / TLSが使用されたと推測できないことがあります。パケットを右クリックして[DecodeAs ...](次にSSL)を選択すると、トラフィックをSSL / TLSとして強制的にデコードすることができます。

これは、Wiresharkで見られるものに関して、HTTPSとMySQLの動作の違いを少なくとも説明するはずです。

このスクリーンショットの特定の例を考えると、ローカルホストからローカルホストに通信しているため、どちらがクライアントでどちらがサーバーであるかを判断するのは困難です(送信元ポートと宛先ポートを表示することを選択した場合はより見やすくなります) 。

自分で試したことはありませんが、「Login Request user =」はクライアントから送信され、SSL / TLSを介して行われていないと想定するのが妥当と思われます。これは、この特定の接続がSSL / TLSを使用していないことを示しているようです。 。(MySQLネットワークプロトコルの詳細に精通していないため、WiresharkでトラフィックをSSLとしてデコードして、何が起こるかを確認することができます。また、クライアントの両方で、設定の詳細がないと、これ以上答えることは困難です。およびサーバー。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

PHPPDOを介したSSL経由のPGSQLへの接続

Red BeanPHPを介したSSL経由のPGSQLへの接続

SSLを介したJMSを使用したWebSphere MQ 7.0への接続

ODBCを介したOraclePDBへの接続

Node.jsを介したMySQLへの接続

SSHと秘密鍵を介したMySQLへの接続

VB.NETを介したMySQLへの接続

SSL接続を介したSquirrelクライアントのDB2サーバーへの接続

移行ウィザードを介したQODBCのMySQLへの接続エラー

SSLを介したSpringBootリモートMysql接続

MySQLプロトコルを介したSphinxへの接続エラー

プログラムを介したMySQLへの接続は安全ですか?

SSL / TLSを介した証明書認証を使用したPostgreSQLDBへのTableauDesktop接続

SSLを使用して接続中にMySQLへの接続が失われました

SSL / TLS接続を介したVagrant上のNode.jsアプリへのアクセス

C ++のSSLを介したシンプルなDB接続

SSLを介したカタログ式データベースへのIBMDB2JDBC接続

APIを介したHubSpotのSQLServerへの接続

VeriSignG5を使用したSSLへの接続の問題

AmazonRDS上のMariaDBへのSSLを使用したRubyDatamapper接続

SSLの問題により、docker-composeを介してKeycloakをMySQLに接続できませんでした

Pandas Datareader(Python)を介したIexAPIへの接続

StackExchange.Redisを介したRedisServierへの接続

JDBCを介したリモートMaprHiveへの接続

FireDac(Delphi)を介したMS SQLLocalDBへの接続エラー

SSH golangを介したmongoDBへの接続

Apache Camelを介したrabbitmqへのSpring boot 2接続

WinSCPを介したAmazonVPCインスタンスへの接続

Excelを介したOracleデータベースへの接続

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ