Linux:如何获得新创建的套接字的通知?

时间:2014-03-24 16:34:40

标签: linux

我正在寻找在用户空间中立即获得通知的方法。我们现有的实现在/ proc / net / tcp和/ proc / net / udp上进行轮询读取,但这对于非常短暂的套接字(例如发送数据报和关闭)不起作用。

1 个答案:

答案 0 :(得分:1)

你可以尝试:

  • 审核socketsocketcall系统调用。如果不使用audit守护程序,则需要编写一些netlink代码。如果您想与尝试访问审计系统的其他用户空间共存,那么您的组播网络连接套接字需要3.15内核。
  • 编写一个自定义linux安全模块,该模块使用您喜欢的事件机制来通知用户空间新的套接字。
  • 使用straceltrace递归进行系统调用或库调用跟踪,如果您不介意黑客,种族和开销。
  • 使用垫片层替换套接字系统调用。需要编写自己的内核模块。
  • 使用function跟踪器进行操作,并将函数限制为跟踪套接字系统调用或它所委托的特定于类型的初始化函数。
  • Kprobing前面提到的感兴趣的内核函数,并使用您最喜欢的通知用户空间的机制。