Я пытаюсь использовать libiptc для чтения цепочек iptable.
системная система застревает в первой цепочке чтения в следующей подпрограмме «iptc_first_chain (& amp; h)»
Я использую Ubuntu 18.04.1 ядро 4.18.0-18- универсальный и запускающий следующий код:
int read_ip_table(void)
{
iptc_handle_t h;
struct ipt_entry *e;
char *chain = NULL;
const char *policy = NULL;
const char *tablename = "filter";
const int cnt = 1;
struct ipt_counters counters;
/* initialize */
h = iptc_init(tablename);
if ( !h ) {
printf("Error initializing: %s\n", iptc_strerror(errno));
exit(errno);
}
/* print built-in chains, their policies and counters */
printf("BUILT-IN POLICY PKTS-BYTES\n");
printf("-----------------------------\n");
for (chain = iptc_first_chain(&h); chain; chain = iptc_next_chain(&h))
{
if ( !iptc_builtin(chain, h) )
continue;
if ( (policy = iptc_get_policy(chain, &counters, &h)) )
printf("%-10s %-10s [%llu:%llu]\n",
chain, policy, counters.pcnt, counters.bcnt);
}
return 0;
}
Было бы хорошо, если бы U мог помочь
Спасибо!