【发布时间】: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。非常欢迎指点。
【问题讨论】:
-
Wireshark 支持 PostgreSQL 剖析(参见:wiki.wireshark.org/PostgresProtocol)。很难分析截图;也许您可以在某处发布捕获文件,例如在 cloudshark、pastebin 上...
-
在我看来,这就像您的另一个问题 How to find (decode) PostgreSQL query from Wireshark File? 的转贴——“解码”和“解密”是同一个意思,恕我直言。
标签: linux networking tcp wireshark tcpdump