Pokazywanie postów oznaczonych etykietą php. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą php. Pokaż wszystkie posty

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 :)