Necesito controlar el tráfico entrante y saliente a/desde un cuadro linux desde dentro de un programa C++. Podría llamar al iptables
desde mi programa, pero prefiero recortar al intermediario y acceder a las funciones API del núcleo yo mismo.control iptables C++
Creo que necesito usar libnfnetlink, sin embargo, no he podido encontrar ninguna documentación de API o programas de ejemplo.
Las reglas que necesito para construir son bastante simples, como lanzar paquetes con un puerto de destino igual a X, etc. NO tengo la intención de escribir una aplicación de firewall completa.
¿alguien puede sugerir un mejor enfoque o proporcionar un enlace a algunos documentos o aplicaciones de ejemplo? Prefiero evitar leer el código de iptables, pero supongo que tendré que hacerlo, si no puedo encontrar mejores recursos.
Este es un duplicado de http://stackoverflow.com/questions/109553/how-can- i-programatically-manage-iptables-rules-on-the-fly – Claris
Si te preocupa la sobrecarga de popen/vfork puedes usar otro proceso para apilar todos los cambios de iptables y confirmarlos de vez en cuando con iptables-restore. – anttir