检查防火墙是否通过C库打开Linux

时间:2014-02-14 13:16:10

标签: c linux firewall

我想了解如何通过C / C ++库检查防火墙是否打开/关闭。是否有一些图书馆用于此目的?谢谢。

3 个答案:

答案 0 :(得分:3)

以下是iptables使用的内容:

$ ldd /sbin/iptables
linux-vdso.so.1 =>  (0x00007fffa69fe000)
libip4tc.so.0 => /lib/libip4tc.so.0 (0x00007fe53853c000)
libip6tc.so.0 => /lib/libip6tc.so.0 (0x00007fe538334000)
libxtables.so.7 => /lib/libxtables.so.7 (0x00007fe538127000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe537d67000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe537b63000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe53875d000)

如您所见,那是libip4tclipip6tclibxtables。但是,它们不适合外部接口。我建议您调用iptables-save并对其进行机器可读输出后处理。

答案 1 :(得分:2)

如果你真的想通过C程序这样做,那么这可能会解决你的目的:)

   chk_fw()
   {
      const char * cmd = "service iptables status";
      system(cmd);
   }

输出:iptables: Firewall is not running.

答案 2 :(得分:1)

这需要检查iptables,并且没有可用的库。 " libiptc如何"可以使用,但它不适用于公共接口。