Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie dostepnosci kompow w sieci lokalnej
lucek
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 5.04.2003

Ostrzeżenie: (0%)
-----


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]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
itsme
post
Post #2





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




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
Go to the top of the page
+Quote Post
lucek
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 5.04.2003

Ostrzeżenie: (0%)
-----


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]
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 13:56