piątek, 20 listopada 2009

Odbieranie snmp traps za pomocą php

Witam
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