如何使用Wireshark解密TCP流量?

时间:2017-04-26 06:55:06

标签: linux networking tcp wireshark tcpdump

我使用PostgreSQL 5.5在Linux平台上。我正在尝试监控Master和Slave之间与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案例中阅读相同的查询(参考文献第1张图片) 我需要从Wirehsark文件中找出上面的查询。

关于档案:

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

查询从.11执行并插入.12然后使用Master-Slave方法复制到.13。指针将非常受欢迎。

1 个答案:

答案 0 :(得分:0)

解决我自己的问题:

我得到了问题的解决方案。

我使用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-Code也是如此。解密数据 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”);