Ho bisogno di controllare il traffico in entrata e in uscita da/verso una casella Linux da un programma C++. Potrei chiamare iptables
all'interno del mio programma, ma preferirei ritagliare il middle man e accedere personalmente alle funzioni API del kernel.iptables Controllo C++
Credo di aver bisogno di utilizzare libnfnetlink, tuttavia, non sono stato in grado di trovare alcuna documentazione API o programmi di esempio.
Le regole che ho bisogno di costruire sono abbastanza semplici - cose come eliminare pacchetti con una porta di destinazione uguale a X ecc. NON intendo scrivere un'applicazione firewall completa.
qualcuno può suggerire un approccio migliore o fornire un collegamento ad alcune applicazioni di documentazione o di esempio? Preferirei evitare di leggere il codice iptables, ma credo che potrei doverlo, se non riesco a trovare risorse migliori.
Questo è un dup di http://stackoverflow.com/questions/109553/how-can- i-programatically-manage-iptables-rules-on-the-fly – Claris
Se ti preoccupi del sovraccarico di popen/vfork puoi usare un altro processo per impilare tutte le modifiche di iptables e commetterle una volta ogni tanto con iptables-restore. – anttir