代码之家  ›  专栏  ›  技术社区  ›  ma11hew28

如何嗅探PostgreSQL网络流量?

  •  0
  • ma11hew28  · 技术社区  · 5 年前

    postgres )正在发送响应我的客户机(一个使用pg gem的Ruby应用服务器)。服务器和客户端都在本地运行,它们的连接未加密。

    1 回复  |  直到 5 年前
        1
  •  2
  •   ma11hew28    5 年前

    使用 tcpdump 显示客户端和服务器之间发送的数据包。

    sudo tcpdump -A -i any port 5432
    

    然后,触发应用服务器(例如,通过从另一个终端窗口向其发送curl请求)向其发送命令 postgres .

    最后,查看tcpdump的输出。

    注意:tcpdump不显示在 psql &安培; 因为它们通过Unix域套接字进行通信。参见: Can I monitor a local unix domain socket like tcpdump?

        2
  •  0
  •   Mukul Gupta    5 年前

    因为 tcpdump 已经提到,我想列出另一个可以用于此目的的工具,其输出不太详细: ngrep

    用法:

    ngrep -d lo port 5432
    

    lo 是要监听的网络接口。这可以用 ifconfig . port 5432 pcap filter

    如果目标是捕获应用程序提交的SQL语句,那么也可以使用它来搜索特定的SQL语句。有关详细说明,请参阅 here