LINUX.ORG.RU

снифер для snmpv3

 , , ,


0

1

доброго времени суток , снова . возникла задача найти или создать ПО обеспечивающее прием и обработку шифрованных инициативных сообщений от автоматизированных систем по протоколу snmpV3. проще говоря сниффер . на языке С++ . предложили как вариант взять за основу snmptrapd т.к. исходный код находится в открытом доступе . покопались в нем . но что то как то дело не пошло , файл не находит хидеры ,и много много еще всего . с огромной надеждой спрашиваю , может здесь у кого то есть такой сниффер под snmpv3 на плюсах ???? скорее всего это последняя просьба о помощи , больше в линукс мы не полезем , никогда ….

яннп, ты чего-то недоговариваешь. протокол snmpv3 согласно спецификации имеет механизмы аутентификации и шифрования. тебе надо сниффер для шифрованного потока бинарной каши? wtf?

Anoxemian ★★★★★ ()

ПО обеспечивающее прием и обработку

проще говоря сниффер

Что-то темнишь, братюня. Приём и обработка это совсем не сниффер.

больше в линукс мы не полезем , никогда

Судя по тексту вас надо в шею гнать из профессии.

no-such-file ★★★★★ ()

возникла задача найти или создать

это лаба что ли?

файл не находит хидеры

O_o Но судя по всему вам тут помощь не нужна, поскольку какую-либо дополнительную информацию вы решили опустить

проще говоря сниффер

сниффер это про перехват трафика и его анализ. Прием и перехват это несколько разные вещи.

может здесь у кого то есть такой сниффер под snmpv3 на плюсах

есть wireshark. Не знаю на сколько процентов он на плюсах, но при наличии паролей вроде как может расшифровывать трафик

больше в линукс мы не полезем , никогда ….

угрожаете вы так себе

anonymous ()
Ответ на: комментарий от Anoxemian

меня ввели в заблуждение и соответственно я вас , простите( сниффер отменяется ) нужно по обеспечивающее прием и обработку шифрованных инициативных сообщений от автоматизированных систем по протоколу snmv3

Kurama ()
Ответ на: комментарий от no-such-file

что нужно я объяснил . это не профессия это лаба , а точнее практика , которую нам не пойму зачем впихнули . менторы которые должны нас учить , забили на нас огромный болт и мы крутимся как хотим с этим линуксом , с которым никогда дел не имели и не собирались .

Kurama ()
Ответ на: комментарий от anonymous

акулой я пользовался когда разбирался в пакете net-snmp . мне предложили snmptrapd взять за основу «Тебе нужно сделать свою программку,можешь на основе snmptrapd,ее нужно доработать-вытащить сокет,который принимает пакеты и заставить его ловить мультикастные пакеты,а после этого отправить snmptrap пакет на мультикастный адрес И поймать его своей программкой» цитата из моего " задания "

Kurama ()

я помню в 2011 на практике после учебы на сисадмина я писал скрипты для nagios. Инициативные, т.е которые посылаются самим девайсом нужно перехватывать ловушками traps. Активные это когда сам посылаешь запрос агенту. Нужны mibs твоего девайса и в инете есть куча ховту как писать баш и питоновские скрипты. Это самое простое. Другими языками я не пользовался, да и незачем

jtad ()
Ответ на: комментарий от Kurama

уже чуть понятнее.

учитывая, что вам разрешили взять за основу snmptrapd, предположу, что вас не заставляют переписывать его на c++ полностью?

вот этот патчик уже смотрели? snmptrapd-multicast Хотя разработчики по идее против

ну и какие проблемы возникли со сборкой?

PS: с такой эмоциональной постановкой задачи вам в Job

anonymous ()
Ответ на: комментарий от anonymous

не совсем понял что делает этот патч . проблемы при сборке возникли с хидами , когда я вставлял код в компилятор и запускал , он их просто не находил . код сам я не трогал , он стандартный , там все прописано изначально для того что бы подключить хиды . но при компиляции выскакивает ошибка , якобы файла нет в директории . я могу прикрепить скрины хидеров . возможно там действительного чего то не хватает или ошибка в чем то другом , если вы сможете как то помочь .

Kurama ()
Ответ на: комментарий от anonymous

мне сказали все это изучать в убунту . и трапы я все эти самому себе отправлял . возможно это как то поможет . в принципе каких то ограничений у меня нету . есть цель . разработка конкретного ПО под snmpv3 .а как это будет реализованно и где , решать только мне .

Kurama ()
Ответ на: комментарий от Kurama

не совсем понял что делает этот патч

по идее не очень красиво добавляет обработку мультикаста. Тут я не особо помогу, т.к. нет особого желания прямо счас глубоко ковырять код

проблемы при сборке возникли с хидами

поскольку речь про бубунту, то давай наснем с apt build-dep snmptrapd, потом configure (или что там) и make

если чего-то не находит, то можешь отыскать нужный пакет используя apt-file search <file>

более непонятные ощибки можешь попробовать скинуть сюда, только используй форматирование

anonymous ()
Ответ на: комментарий от Kurama

Я знаю как минимум libsnmp и snmp++ - всё это прекрасно работает, использовал лично в не менее прекрасном Linux-е, и кажется именно даже с SNMPv3!

Не спешите ненавидеть Linux, он лучше и проще на самом деле

I-Love-Microsoft ★★★★★ ()

В общем если будут конкретные вопросы - я и многие другие обитатели форума - с радостью поможем

Программу нужно писать самому, но в состав утилит snmp++ есть некоторые готовые программы, которые позволят пусть не так эффективно, но через командную строку запрашивать всякое разное

Можно обернуть это всё в свой bash-python скрипт и выполнить работу. Но если нужно snmptrapd и возникают сложности - преподаватель должен помочь. Спросите его, наверняка вы не спрашиваете у него вообще ничего, а он на это надеется

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

я не ненавижу линукс , просто не питаю к нему особой страсти , а подобная ситуация лишь отбивает всякое желание . по поводу вопросов преподавателю . я его ими заваливал , ибо я очень хотел понять что делать и как , но на все он отвечал "ищи в интернете " . да я как бы не против , но я ж даже не знаю что толком искать , и будет ли найденное мной верным .

Kurama ()
Ответ на: комментарий от anonymous

а если проделать тоже самое что я делал на винде . тоесть открыть исходник snmptrapd и попробовать запустить? вот только я никак не могу его найти на виртуалке убунту .

Kurama ()
Ответ на: комментарий от Kurama

А можно текст задания?

P.S. Клянусь я не понимаю как snmp в Windows может быть хоть на миллиметр проще чем в Linux? Кстати я пишу кроссплатформенные программы

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от Kurama

все чудесатее и чудесатее

Для сборки под виндой есть вот это readme. На этом мои возможности заканчиваются, т.к. с dev c++ или студиями и виндой я имел дело достаточно давно

anonymous ()
Ответ на: комментарий от Kurama

могу предложить такой вариант:

открывате /etc/apt/sources.list и копируете строчки с новым префиксом deb-src или раскоментируете их, если уже есть. Должно получиться типа

deb http://de.archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb-src http://de.archive.ubuntu.com/ubuntu focal main restricted universe multiverse
...

а потом выполняете команды

$ sudo apt update
$ sudo apt install build-essential
$ sudo apt build-dep snmptrapd
$ apt source net-snmp
$ cd net-snmp-<version>
$ # тут вы что-то меняете в apps/snmptrapd*
$ ./configure
$ make

Если какие-то заголовочные файлы не установились, то ищете пакеты с ними и устанавливаете

anonymous ()

Странные советы вижу я...

Снифферы, что tcpdump, что wireshark, основаны на библиотеке libpcap. В принципе, можно хватать данные tcpdump и парсить их в wireshark.

Но я бы написал при помощи libpcap свой сниффер чисто для snmp v3 (порты смотрите и UDP, а не TCP) и, далее, в этой же приблуде, разбирал бы пакеты данных при помощи своего парсера (вариантов реализаций в Сети просто море, есть где подглядеть). Ну или свой бы парсер наваял, там задача-то всего лишь обрабатывать шифрованные инициативные сообщения, а не весь протокол. Хотя, в принципе, и весь протокол не особо сложно.

А тут… Чёт мне кажется или лор мельчает?

больше в линукс мы не полезем , никогда ….

Обещаете? Смотрите не забудьте об обещании. =)))

anonymous ()
Ответ на: комментарий от Kurama

Бггг... Спасибо, посмешили...

«Тебе нужно сделать свою программку,можешь на основе snmptrapd,ее нужно доработать-вытащить сокет,который принимает пакеты и заставить его ловить мультикастные пакеты,а после этого отправить snmptrap пакет на мультикастный адрес И поймать его своей программкой»

ЛОЛШТО?!? Это что за ГПТУ? =))) И да, пристрелите своего препода. В libpcap можно и ловить пакеты и генерировать их, вставляя в (даже, хоть это и не Ваш случай) перехваченную сессию. Если просто генерировать («крафтить») пакет, без учёта сессии или ведя свою, то это libnet. Но здесь сессии не нужны, крафтинг пакетов по стольку-по скольку, т.е. см. мой коммент выше.

В Вашем случае нужен именно сниффер (по условию). Для начала.

Какая ярая антинаучная херня из Вашего препода сыплется. Я бы в snmptrapd или аналогичный софт подглядывал бы чисто чтобы структуру пакета данных воспроизвести. В своём исходнике и не более.

Мде… Вот так и получаются РазорванныеФлаконы. =)))

anonymous ()
Ответ на: комментарий от Kurama

Если я еще не совсем свихнулся, я четко вижу что snmptrapd написан на Perl и основывается на известном проекте Net-SNMP, к которому есть примеры

Но там на Perl, а надо переписать на C++

Вы считаете это задание невозможным, потому что не видите пути его решения, а на самом деле если капельку приложить усилия то всё получится

Иногда преподаватели перегибают палку в сложности, я считаю они должны давать вилку сложности студентам одной и той же группы

Может просите у препода совсем «как вообще что то делать», а надо «я нашел NetSNMP, собрал пример - он работает, мне теперь смотря в пример snmptrapd переписать это на C++?»

А что преподаватель говорит должно выступать в качестве тестового источника данных, ведь настоящий коммутатор или иное оборудование у студента под кроватью не лежит, он дал эмулятор?

Если эмулятора нет, значит нужно просто написать код, который компилируется, но не проверен

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

я четко вижу что snmptrapd написан на Perl и основывается на известном проекте Net-SNMP

$ file /usr/sbin/snmptrapd
/usr/sbin/snmptrapd: ELF 64-bit LSB shared object, x86-64...

какой-то неправильный перл. snmptrapd не основывается на Net-SNMP, он часть этого проекта. Но да, для библиотеки есть перловые модули от авторов, хотя вряд ли они позволят рулить сокетами напрямую.

anonymous ()