【问题标题】:How to Decrypt TCP Traffic Using Wireshark?如何使用 Wireshark 解密 TCP 流量?
【发布时间】:2017-09-23 10:25:22
【问题描述】:

我在使用 PostgreSQL 5.5 的 Linux 平台上。我正在尝试监视主从之间与 PostgreSQL 相关的所有流量。为此,我使用 Wireshark 来监控流量。然后,我启动 PostgreSQL 并运行各种查询。在查询期间,我在 Master 上运行 Wireshark 只是为了捕获 Master 和 Slave 之间的流量。

但是使用 Wireshark 捕获的 PostgreSQL 流量存在一个问题。所有流量都以 TCP 数据包的形式发送/接收,并且该流量采用编码形式。我无法读取该数据。请看下图: WireShark File's Image for PostgreSQL DB.

我想从 Wirehsark 中找出我插入 PostgreSQL 数据库的确切查询。查找 PostgreSQL 查询的最佳方法是什么?

另一方面,我在 MySQL 数据库上运行相同的查询并重复上述实验。我可以很容易地阅读 Wireshark 转储中的所有这三个查询,因为它们不是编码形式。请看下图: WireShark File's Image for MySQL DB 在图像的末尾,显示了我在 MySQL 中插入的确切查询。但我无法在 PostgreSQL 案例中读取相同的查询(参考第一张图片) 我需要从 Wirehsark 文件中找出上述查询。

关于文件:

  • 192.168.50.11 是我向远程 PostgreSQL 主服务器插入查询的源机器
  • 192.168.50.12是Master的服务器IP
  • 192.168.50.13是slave的IP地址

查询从 .11 执行并插入 .12,然后使用主从方法复制到 .13。非常欢迎指点。

【问题讨论】:

标签: linux networking tcp wireshark tcpdump


【解决方案1】:

解决我自己的问题:

我的问题得到了解决。

我使用 Python 代码将查询插入远程 PostgreSQL 数据库。我在 PostgreSQL 中使用以下行来连接数据库。 con = psycopg2.connect(host="192.168.50.12", database="postgres", user="postgres", password="faban") 如果你在上面使用方法然后所有数据将以加密形式发送。如果您在 python 代码中使用下面给出的方法,那么所有数据都将以解密的形式发送。您可以轻松阅读 Wireshark 中的所有查询。 con = psycopg2.connect("host=192.168.50.12 dbname=postgres user=postgres password=faban sslmode=disable") 在 C 代码中也是如此.解密数据 sprintf(conninfo, "dbname=postgres hostaddr=192.168.50.12 user=postgres password=faban sslmode=disable"); 加密数据 sprintf (conninfo, "dbname=postgres hostaddr=192.168.50.12 user=postgres password=faban");

【讨论】:

    猜你喜欢
    • 2018-04-15
    • 2017-09-18
    • 2022-10-17
    • 2017-01-15
    • 1970-01-01
    • 2013-03-26
    • 2014-02-17
    • 2019-12-09
    • 1970-01-01
    相关资源
    最近更新 更多