Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie dostepnosci kompow w sieci lokalnej
Forum PHP.pl > Forum > PHP
lucek
Czesc.
Jestem bardzo poczatkujacym jesli chodzi o php i mam taki problem.
Mam do dprawdzania komputerow w sieci lokalnej.
I nie wiem jak go przerobic aby IP pobieral z bazy danych oraz z bazy pobieral adres email uzytkownika.
Bardzo prosze o pomoc.

[php:1:4751ef9725]<?php
<?
$ip= array("153.19.33.160",
"153.19.33.161",
"153.19.33.162",
"153.19.33.163",
"153.19.33.164",
"153.19.33.165",
"153.19.33.166",
"153.19.33.167",
"153.19.33.168",
"153.19.33.169",
"153.19.33.170",
"153.19.33.171",
"153.19.33.172"


);

$liczba = count($ip);


echo "<span style="font: 12px Tahoma, Arial, sans-serif;">";
echo (iso("<u>Liczba Komputerow: <b>$liczba</b></u>"));
echo "<br>";
echo "</span>";


echo "<table align="center" border="0" cellpadding="10" BACKGROUND="images/tlo-tabeli.gif" BACKGROUND="" HEIGHT="540" WIDTH="400">";
#bgcolor="#3DBFFF" bordercolor="#3A9DF6" cellpadding="15" bordercolorlight="#3A9DF6" bordercolordark="#3A9DF6" background="#3A9DF6" >";

echo "<tr>";

sort($ip);

$ile=4;
$licznik=0;


for ($x=0; $x<count($ip); $x++)

{


#foreach($ip as $wartosc)
#{
if($licznik == $ile)
{
$licznik = 0;
echo "</tr>";
echo "<tr>";
}
$licznik++;
echo "<td ALIGN="center">";


$nazwa_komputera=gethostbyaddr($ip[$x]);
$nazwa_komputera_temp="1$nazwa_komputera";
$nazwa_komputera_=strtoupper(wytnij_pomiedzy("1",".zie.pg.gda.pl",$nazwa_komputera_temp));



system("ping -c 1 -q -w 5 $ip[$x] > /dev/null",$ret);


if ($ret == "0")
{
echo "<img src="images/jest-ping.gif" alt="" border="0">";
echo "<br>";
echo "<span style="font: 12px Tahoma, Arial, sans-serif;">";
echo (iso("<b><u>$nazwa_komputera_ </u></b>"));
echo "</span>";
echo "<br>";
echo "<span style="font: 10px Tahoma, Arial, sans-serif;">";
echo (iso("$ip[$x]"));
echo "</span>";
echo "<br>";
echo "<span style="font: 10px Tahoma, Arial, sans-serif;">";
echo (iso(" is <b>On-Line</b>"));
echo "</span>";
}
elseif ($ret == "1")
{
echo "<img src="images/nie-ma-ping.gif" alt="" border="0">";
echo "<br>";
echo "<span style="font: 12px Tahoma, Arial, sans-serif;">";
echo (iso("<b><u>$nazwa_komputera_</u></b>"));
echo "</span>";
echo "<br>";
echo "<span style="font: 10px Tahoma, Arial, sans-serif;">";
echo (iso("$ip[$x]"));
echo "</span>";
echo "<br>";
echo "<span style="font: 10px Tahoma, Arial, sans-serif; color=red ">";
echo (iso(" is <b>Off-Line</b>"));
echo "</span>";
}

echo "</td>";
}

echo "</tr>";
echo "</table>";

?>
?>[/php:1:4751ef9725]
itsme
musisz zalozycz tabele w bazie danych

user o kolumnach id, email, ip,

- pozniej wprowadzic te dane do bazy poszukaj na forum slow *INSERT* w dziale szukaj
- next slowo *SELECT*, *mysql_connect*, *mysql_query*

sadze ze dasz sobie rade gdyz tych informacji na forum jest bardzo wiele

powodzenia ...

ps. rozwiazanie (dzialajace) wklei bedzie pomoca dla innych poczatkujacych
lucek
Troszeczke zmienilem ten skrypt co byl powyzej.
Ten podany nizej dziala mi ale tylko czesciowo - gdyz puszcza pinga tylko do jednego IP wprowadzonego z bazy A NIE DO WSZYSTKICH.
A po sprawdzeniu stanu tego jednego kompa pozostalym rekordom wprowadza status taki sam jak tego 1.
Prosze o pomoc.
Gdyz widze ze nie wiele brakuje aby ten skrypt chodzil jak trzeba.
A zapewne przyda sie wielu osobom.

[php:1:dd2b4c560c]
<?
include("cg.php");

$zap="SELECT * FROM kompy ";
$wykonaj = mysql_query($zap);
while($row = mysql_fetch_array($wykonaj))
{

$id = $row['id'];
$ip = $row['ip'];
$nazwa= $row['nazwa'];

system("ping -c 1 -q $ip > /dev/null",$zap1);

if (($zap1== "0") || ($zap1 == "1"))
{
$status= "ONLINE";
}
else
{
$status="OFFLINE";
}

echo "<table align=center cellspacing=4 cellspading=5>";
echo"<tr><td> $ip <td > $status <td > $nazwa </td></tr>";
}
mysql_free_result($wykonaj);

?>[/php:1:dd2b4c560c]
scanner
Zamiast pingowac użyj Ping]http://www.insecure.org/nmap/data/nmap_man...html
Cytat
Ping scanning: Sometimes you only want to know which hosts on a network are up. Nmap can do this by sending ICMP echo request packets to every IP address on the networks you specify.
Za kilka dni będę pisał coś takiegho dla pewnej "osiedlówki", jeśli zadziała i będę zadowolony, gotowiec będzie u mnie na stronie.
Najlepiej IMHO: wrzuć nmapa do crona powiedzmy co 15 minut, wyniki buforuj w pliku i z tego pliku parsuj je w php.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.