2
我正在寻找在用户空间中立即得到通知的方式,当时已经创建了一个新的套接字。我们现有的实现在/ proc/net/tcp和/ proc/net/udp上进行轮询读取,但对于寿命很短的套接字(例如发送数据报和关闭),这不起作用。Linux:如何获得新创建的套接字的通知?
我正在寻找在用户空间中立即得到通知的方式,当时已经创建了一个新的套接字。我们现有的实现在/ proc/net/tcp和/ proc/net/udp上进行轮询读取,但对于寿命很短的套接字(例如发送数据报和关闭),这不起作用。Linux:如何获得新创建的套接字的通知?
你可以尝试:
socket
或socketcall
系统调用。如果不使用audit
守护程序,则需要编写一些netlink代码。如果你想与试图访问审计系统的其他用户空间共存,你需要为其多播netlink套接字使用3.15内核。strace
或ltrace
以递归方式进行系统调用或库呼叫跟踪,如果您不介意hackiness,raciness和overhead。function
进行跟踪,并限制跟踪到套接字系统调用或其委托的类型特定的初始化函数的函数。
你真的想做什么。我怀疑如果你真的得到了*每个*新套接字的通知,你都会被埋没在噪音中。 Linux使用套接字*很多* ... – twalberg
你的意思是为特定的系列和类型创建套接字对象('struct socket')吗?或者你的意思是建立连接? – Kaz