Do mojej pracy magisterskiej potrzebowałem dziwnego skryptu który by od razu przechwycił pakiety snmp i przerobione wyświetlał na stronie internetowej. Jako cały program na magisterkę pisany jest w php skrypt też musiał być w tym języku ( lubię jednolitość). A wiec tak do odbioru pakietów używam net-snmp cała konfiguracja jest na stronie Net-snmp. Oczywiście zamiast skryptu traps.sh używam programu traps.php :) (najpierw trzeba pobrać pakiet php-cli). A wiec tak zawartość programu wygląda następująco:
for($x=1;$x<6;$x++){
$line = trim(fgets(STDIN)); // reads one line from STDIN
echo $line;
$calosc=$calosc.$line;
echo $calosc;
}
$fcos = fscanf(STDIN, "%d\n", $number); // reads number from STDIN
$myFile = "/etc/snmp/testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $calosc);
fclose($fh);
A wiec tak poskładałem parę programów w jedno :P. Jeszcze sie nie zastanawiałem jak sprawdzić kiedy stdin jest pusta jeśli w o gule jest pusta. Można to robić sprawdzając czy wartość $line jest NULL ale nie przetestowałem tego :). Ogólnie na moje skromne potrzeby wystarcza :) W ten sposób można sobie napisać jakiś webowy serwer snmp trap :) szczególnie że takich darmowych trudno znaleźć :) Choć może lepiej rzeczywiście zostawić poprzedni skrypt tylko dodać funkcje wrzucania wiadomości bezpośrednio do bazy danych jak już myślimy o takim serwerze. No ale wszystko zależy od potrzeb :) na moje potrzeby wystarcza to :)
Brak komentarzy:
Prześlij komentarz