Насколько я знаю, нет никакого собственного способа генерирования ловушек / сообщений с помощью php.Даже расширение SNMP позволяет только получать и устанавливать запросы.Поэтому единственный (быстрый) способ сделать это - вызвать внешний инструмент, такой как net-snmp.Правильная командная строка будет выглядеть примерно так:
snmptrap -v 1 -c public manager enterprises.spider test-hub 3 0 '' interfaces.iftable.ifentry.ifindex.1 i 1
отправит универсальную ловушку linkUp менеджеру, для интерфейса 1 (взято из manpage ).Чтобы выполнить это из php, двоичные файлы net-snmp должны находиться на пути к системе, и вы можете либо вызвать exec , shell_exec или proc_open .
Очевидно, что вы также можете отправлять ловушку самостоятельно, кодируя ее в виде необработанного байтового массива и отправляя ее через сокет UDP, но затем вам пришлось самостоятельно реализовать кодер BER и пакетный кодер SNMP, что я не рекомендую,Для справки вам понадобятся следующие данные: