【发布时间】:2017-01-19 04:02:09
【问题描述】:
在 Linux 3.9 内核及更高版本中运行,我有一个应用程序 X,它在特定套接字上侦听连接。我想写一个不相关的应用程序,Y,它跟踪连接到这个套接字的尝试次数、源IP等。
是否可以在 C++ 中(理想情况下通过 Qt 库)共享/监视已被不相关进程使用的套接字?我发现了几个 StackOverflow 问题,建议分叉共享套接字,但在这种情况下这是不可能的。
【问题讨论】:
-
你可以使用
tcpdump:superuser.com/questions/604998/… -
一种方法(不依赖于任何特殊的操作系统级功能)是让 Y 代表 X 接受连接并充当 X 的代理(通过连接到 X 的端口和来回转发流量)。不过,Y 需要接受不同端口上的连接。不过,如果您有能力这样做,直接检测 X 可能会更容易。
标签: c++ qt sockets networking listen