2017-04-26 885 views
-1

我在Linux平臺上使用PostgreSQL 5.5。我正在嘗試監視主站和從站之間與PostgreSQL相關的所有流量。爲此,我使用Wireshark監控流量。然後,我開始使用PostgreSQL並運行各種查詢。在查詢期間,我在Master上運行Wireshark以捕獲Master和Slave之間的流量。如何使用Wireshark解密TCP流量?

但是使用Wireshark捕獲的PostgreSQL流量存在一個問題。所有流量都是通過TCP數據包發送/接收的,並且流量採用編碼形式。我無法讀取這些數據。請參閱下圖: WireShark File's Image for PostgreSQL DB

我想找出我在PostgreSQL數據庫中插入Wirehsark的確切查詢。尋找PostgreSQL查詢的最佳方式是什麼?

另一方面,我在MySQL數據庫上運行相同的查詢,並重覆上述實驗。我可以在wireshark轉儲中輕鬆讀取所有這三個查詢,因爲它們不是以編碼形式。請看下面的圖片: WireShark File's Image for MySQL DB 在圖像的末尾,顯示了我在MySQL中插入的精確查詢。但是我可以'在PostgreSQL案例中閱讀相同的查詢(Ref。1st image) 我需要從Wirehsark文件中找出上述查詢。

關於文件:

  • 192.168.50.11是從哪兒我插入查詢,遠程PostgreSQL的主服務器
  • 192.168.50.12源計算機碩士服務器的IP
  • 192.168.50.13是從服務器的IP地址

查詢從.11開始執行並插入到.12中,然後使用主從方法複製到.13。指針將非常受歡迎。

+1

Wireshark支持PostgreSQL解剖(請參閱:https://wiki.wireshark.org/PostgresProtocol)。很難分析屏幕截圖;也許你可以發佈一個捕獲文件的地方,例如cloudshark,pastebin,... –

+0

這看起來像我從你的另一個問題轉發[如何從Wireshark文件查找(解碼)PostgreSQL查詢?](http://堆棧溢出。com/questions/43603225/how-to-find-decode-postgresql-query-from-wireshark-file) - 「解碼」和「解密」意味着同樣的事情,恕我直言。 –

回答

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代碼也是如此。解密數據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」);

相關問題