Exemplo de uso da libiptc

Publicado por Andre Luiz da Silva 04/03/2006

[ Hits: 5.326 ]

Homepage: http://localhost

Download print_all_rules.c




Exemplo basico de uso da libiptc

  



Esconder código-fonte

/* 
 * print_all_rules.c -  11/03/2005
 * A very simple libiptc functions test - by AndRack <[email protected]> 
 * 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;
}

Scripts recomendados

Joguinho de labirinto usando as setas do teclado

Exemplo simples de socket em C/C++

Driver ATI que funciona

Função HASH em C++

Rotação à esquerda árvore Binária


  

Comentários
[1] Comentário enviado por Robson_Rojas em 21/03/2012 - 15:02h

Você teria algum tutorial sobre marcação de pacotes com o libiptc?


Contribuir com comentário