Мне нужно разработать консольную программу на C / C ++, которая получает счетчики заданных правил iptables.
Может кто-нибудь отправить мне:
- как установить libiptc в Debian 9 Stretch
- простой пример кода
- соответствующая команда для его компиляции
Наиболее рекомендуемый веб-сайт https://www.tldp.org/ использует ядро 2.4.x и iptables 1.4.0, которые оба устарели
У меня есть:
- Debian 8, Джесси
- 4.19.1 версия ядра
- iptables версия 1.6.0
- gcc 5.4.0
Я пытался следовать туто: https://www.tldp.org/, но версия ядра и iptables устарела. Я хочу, чтобы следующий код компилировался:
/*
* How to use libiptc- program #1
* /usr/local/src/p1.c
*/
#include <getopt.h>
#include <sys/errno.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <dlfcn.h>
#include <time.h>
#include "libiptc/libiptc.h"
#include "iptables.h"
int main(void)
{
iptc_handle_t h;
const char *chain = NULL;
const char *tablename = "filter";
program_name = "p1";
program_version = NETFILTER_VERSION;
h = iptc_init(tablename);
if ( !h ) {
printf("Error initializing: %s\n", iptc_strerror(errno));
exit(errno);
}
for (chain = iptc_first_chain(&h); chain; chain = iptc_next_chain(&h)) {
printf("%s\n", chain);
}
exit(0);
} /* main */
Что должно печатать встроенные цепочки фильтров iptables:
INPUT
OUTPUT
FORWARD