Exemplo de uso da libiptc
Publicado por Andre Luiz da Silva 04/03/2006
[ Hits: 5.978 ]
Homepage: http://localhost
Exemplo basico de uso da libiptc
/*
* print_all_rules.c - 11/03/2005
* A very simple libiptc functions test - by AndRack <andrack@gmail.com>
* Compile: $gcc -o print_all_rules print_all_rules.c -liptc
*/
#include <stdio.h>
#include <stdlib.h>
#include <iptables.h>
#include <libiptc/libiptc.h>
#define OUTPUT "/dev/stdout"
/*#define OUTPUT "/tmp/fw_rules" */
int main(void)
{
iptc_handle_t table;
const struct ipt_entry *rule;
char *tables[] = {"filter", "mangle", "nat"};
char *chain;
FILE *fp;
int n_table;
fp = fopen (OUTPUT, "w");
for (n_table = 0; n_table <= 2; ++n_table)
{
table = iptc_init (tables[n_table]);
fprintf (fp, "Table [ %s ] \n", tables[n_table]);
chain = (char *) iptc_first_chain (&table);
do {
fprintf (fp, "%s \n", chain);
rule = iptc_first_rule (chain, &table);
while (rule) {
fprintf (fp, "Counter Packets: %llu \n", rule->counters.pcnt);
fprintf (fp, "Counter Bytes: %llu \n", rule->counters.bcnt);
fprintf (fp, "INTFACE: %s \n", (strlen (rule->ip.iniface))? rule->ip.iniface: "any");
fprintf (fp, "OUTFACE: %s \n", (strlen (rule->ip.outiface))? rule->ip.outiface: "any");
rule = iptc_next_rule (rule, &table);
}
chain = (char *) iptc_next_chain (&table);
} while (chain);
}
fclose (fp);
return 0;
}
Árvore AVL, usando arquivos para armazenamento de dados
Tipos de Dados Abstrato - TDA - Números Complexos
Joguinho de labirinto usando as setas do teclado
Rotação à esquerda árvore Binária
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Preciso recuperar videos *.mp4 corrompidos (2)
Secure boot, artigo interessante, nada técnico. (1)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (6)









