最简单的方法可能是编写一个循环来监控 /proc/net/tcp 或 /proc/net/tcp6。但是,这太低效了,因为我几乎需要立即得到通知。我看到的最接近的东西是 inotify,它可以为任何文件的 IO 事件提供回调。问题是 procfs 不是常规文件系统,并且 inotify 似乎不支持它(至少不支持 /proc/net/tcp 和 /proc/net/tcp6)。
此外,我不希望程序具有 root 权限来实现这一点。
编辑:我删除了用户空间连接的要求。另外,我希望有一个内置的内核支持,比如 inotify 可以实现这一点。在我的情况下,操作 iptables 甚至可能过于侵入。
有人有什么想法吗?谢谢!!