Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: okoun 27 Února 2009, 18:29:14
-
Ahoj, potřebuji nějaký scriptík, který bude sledovat jestli je na dané IP adrese otevřen daný port a pokud nebude tak aby poslal notifikační email, že je zařízení nedostupné.
Možná by šel spustit tento script nějak pomocí php-cli ale nevím jak to udělat ::)
<?php
$host = '10.27.X.X';
if($socket = fsockopen($host, 80, $errno, $errstr, 1)) {
$srsniste = 1;
echo 'Dostupne';
fclose($socket);
} else {
echo 'Nedostupne';
}
?>
Nevím co je lepší jestli něco přímo naprogramovat pro linux neb to php-cli ??
-
Pokud to opravdu chcete přes php-cli tak mi prozraďte co vám nefunguje.
na 192.168.4.9 mám server, na 192.168.4.122 ne
root@hej-hq:/usr/src/navicat8_mysql_en# php
Program 'php' není v současné době nainstalován. Můžete jej nainstalovat napsáním:
apt-get install php5-cli
bash: php: command not found
root@hej-hq:/usr/src/navicat8_mysql_en# apt-get install php5-cli
Čtu seznamy balíků... Hotovo
Vytvářím strom závislostí
Čtení stavových informací... Hotovo
Navrhované balíky:
php-pear
Následující NOVÉ balíky budou nainstalovány:
php5-cli
0 aktualizováno, 1 nově instalováno, 0 k odstranění a 7 neaktualizováno.
Potřebuji stáhnout 2570kB archivů.
After this operation, 5779kB of additional disk space will be used.
Mám:1 http://cz.archive.ubuntu.com hardy-updates/main php5-cli 5.2.4-2ubuntu5.5 [2570kB]
Staženo 2570kB za 6s (406kB/s)
Instaluji balík php5-cli.
(Čtu databázi ... nyní je nainstalováno 248589 souborů a adresářů.)
Rozbaluji php5-cli (z .../php5-cli_5.2.4-2ubuntu5.5_amd64.deb) ...
Nastavuji balík php5-cli (5.2.4-2ubuntu5.5) ...
Creating config file /etc/php5/cli/php.ini with new version
root@hej-hq:/usr/src/navicat8_mysql_en# cd ~
root@hej-hq:~# mkdir test
root@hej-hq:~# cd test/
root@hej-hq:~/test# touch test.php
root@hej-hq:~/test# pico test.php
root@hej-hq:~/test# cat test.php
<?php
$host = '192.168.4.9';
if($socket = fsockopen($host, 80, $errno, $errstr, 1)) {
$srsniste = 1;
echo 'Dostupne';
fclose($socket);
} else {
echo 'Nedostupne';
}
?>
root@hej-hq:~/test# php test.php
Dostupneroot@hej-hq:~/test# pico test.php
root@hej-hq:~/test# cat test.php
<?php
$host = '192.168.4.122';
if($socket = fsockopen($host, 80, $errno, $errstr, 1)) {
$srsniste = 1;
echo 'Dostupne';
fclose($socket);
} else {
echo 'Nedostupne';
}
?>
root@hej-hq:~/test# php test.php
Warning: fsockopen(): unable to connect to 192.168.4.122:80 (Connection timed out) in /home/martin/test/test.php on line 3
Nedostupneroot@hej-hq:~/test#
pak jsou tady i jiné krásné věci jako nmap, nebo tcp připojení na port ať už v bashi telnet na port + poslání headeru, nebo nějaký perl třeba: http://www.linuxjournal.com/article/3531