libnetfilter_queue编程,我怎么知道哪个程序发送数据包?

我试图为Linux做一个应用程序级别的防火墙,但现在我只能告诉像IP地址,端口号的东西。

是否有可能知道哪个程序发送数据包? 如果我不需要放置一个内核模块。

谢谢 !

Solutions Collecting From Web of "libnetfilter_queue编程,我怎么知道哪个程序发送数据包?"

目前还不是。 这三种情况:

  • 输入paath:在xtables运行时,套接字查询还没有完成
  • 转发路径:显然没有本地套接字
  • (本地)输出路径:进程信息和套接字信息都不会传递给nf_queue,虽然有一个补丁提出,但没有得到太多的关注。

我认为可能在数据包上使用一个netfilter标记(在NFQUEUE之前运行的规则),并用nfq_get_nfmark检索它。 我没有尝试过,我不知道它是否会起作用。