победил!)))
в общем особое внимание на параметр ext_iface в настройках коллектора! у меня он оказался 52)) система с кучей вланов)
по команде ifconfig считаем до интерфейса, либо :
Создаём файл с расширением .c например if_nametoindex.c. В пустой if_nametoindex.c файл добавляем:
#include <sys/socket.h>
#include <net/if.h>
using namespace std;
#include <iostream>
int main(int argc, char **argv)
{ for (int i = 1; i < argc; i++)
{ cout << argv << " = " << if_nametoindex(argv) << "\n";
}
return 0;
}
ПЕРЕВОД СТРОКИ В КОНЦЕ ФАЙЛА ОБЯЗАТЕЛЕН
Находясь в тойже директории, что и if_nametoindex.c выполняем компиляцию:
# c++ -o if_nametoindex if_nametoindex.c
Появится исполняемый файл, который зелёный если через mc-light на него смотреть. Далее запускаем исполняемый файл:
# ./if_nametoindex "re1" "re2" "lo0"
re1 = 3
re2 = 4
lo0 = 7
Запускается одним или несколькими параметрами через пробел. В качестве параметра в main передаётся имя/имена сетевого/ых интерфейса/ов и в ответ выдаётся соответствующий номер
взято с anteh.ru/notes/freebsd/notes_netflow.html
Не компилируется.
FreeBSD 10.4
c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
n.c:5:17: warning: using directive refers to implicitly-defined namespace 'std'
using namespace std;
^
n.c:13:37: error: no matching function for call to 'if_nametoindex'
{ cout << argv << " = " << if_nametoindex(argv) << "\n";
^~~~~~~~~~~~~~
/usr/include/net/if.h:556:16: note: candidate function not viable: no known conversion from 'char **' to 'const char *' for 1st argument; dereference the
argument with *
unsigned int if_nametoindex(const char *);
^
1 warning and 1 error generated.