Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [skrypt] Status komputerów w sieci LAN
BzikOS
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Tak jak obiecałem, umieszczam malutki skrypcik do sprawdzania, które komputery w sieci lokalnej są włączone (wymaga on statycznie przypisanych adresów IP do każdego kompa, można go oczywiście przerobić aby skanował całą klasę w poszukiwaniu kompów, ale robiłem go na własne potrzeby i zależało mi na czasie skanowania (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) )

  1. <?php
  2. // *********************
  3. // Konfiguracja
  4. //
  5.  
  6. /* OS na ktorym bedzie uruchamiany skrypt
  7. windows - dziala _tylko_ metoda ping
  8. unix - dziala zarowno ping jak i nmap (jezeli jest w systemie) */
  9. $config['os'] = 'unix';
  10.  
  11. /* Metoda sprawdzania hostow
  12. ping 
  13. nmap - wymaga nmapa w systemie*/
  14. $config['scanMethod'] = 'nmap';
  15.  
  16. /* IPki do sprawdzenia */
  17. $ipsArray['192.168.0.1'] = &#092;"Host1\";
  18. $ipsArray['192.168.0.2'] = &#092;"Host2\";
  19.  
  20. /* Tablica ipkow majacych dostep do strony (jezeli pusta - wszyscy maja dostep) */
  21. //$allowArray[] = \"127.0.0.1\";
  22.  
  23.  
  24.  
  25. // *********************
  26. // Sprawdzenie uprawnien
  27. // dostepu do strony
  28.  
  29. if( is_array( $allowArray ) )
  30. {
  31. if( in_array( $_SERVER['REMOTE_ADDR'], $allowArray ) == False)
  32. {
  33. print(&#092;"Brak dostępu!\");
  34. exit();
  35. }
  36. }
  37.  
  38.  
  39.  
  40. // *********************
  41. // Szablon
  42.  
  43. $tblBegin = '<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" summary=\"\">
  44. <tr>
  45. <td colspan=\"3\" class=\"title\">Status komputerów w sieci lokalnej</td>
  46. </tr>
  47. <tr>
  48. <td colspan=\"3\" class=\"separator\"></td>
  49. </tr>
  50. <tr>
  51. <td class=\"cell2\">Status</td>
  52. <td class=\"cell2\">Host/ksywa/imię</td>
  53. <td class=\"cell2\">Adres IP</td>
  54. </tr>';
  55.  
  56. $tblRow = '<tr>
  57. <td class=\"cell\" style=\"text-align: center\"><img src=\"comp{STATUS}.gif\"></td>
  58. <td class=\"cell\">{HOST}</td>
  59. <td class=\"cell\">{IP}</td>
  60. </tr>';
  61.  
  62. $tblEnd = '<tr height=\"55\" valign=\"center\">
  63. <td class=\"cell3\" colspan=\"3\">W sumie: &nbsp;&nbsp;&nbsp; <img src=\"compon.gif\" align=\"absmiddle\"> {SUMAON}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"compoff.gif\" align=\"absmiddle\"> {SUMAOFF} </td>
  64. </tr>
  65. </table>';
  66.  
  67.  
  68.  
  69. // *********************
  70. // Sprawdzenie komputerow
  71.  
  72. $time_start = getmicrotime();
  73.  
  74. $compOn = $compOff = 0;
  75. foreach( $ipsArray as $ip => $host )
  76. {
  77. $compStatus = scan( $ip );
  78.  
  79. ($compStatus == &#092;"on\") ? $compOn++ : $compOff++;
  80.  
  81. $row = $tblRow;
  82. $row = str_replace( '{STATUS}', $compStatus, $row );
  83. $row = str_replace( '{HOST}', $host, $row );
  84. $row = str_replace( '{IP}', $ip, $row );
  85.  
  86. $rows .= $row;
  87. }
  88.  
  89. $end = str_replace( '{SUMAON}', $compOn, $tblEnd );
  90. $end = str_replace( '{SUMAOFF}', $compOff, $end );
  91.  
  92. $page = $tblBegin . $rows . $end;
  93.  
  94. $time_end = getmicrotime();
  95. $stoper = $time_end - $time_start;
  96.  
  97.  
  98.  
  99. function scan( &$ip )
  100. {
  101. global $config;
  102.  
  103. if( $config['scanMethod'] == 'nmap' )
  104. {
  105. $cmd = shell_exec( &#092;"nmap -sP -max_rtt_timeout 10 $ip\" );
  106. Return ( strpos( $cmd, '1 host up' ) === False ) ? 'off' : 'on';
  107. }
  108.  
  109. elseif( $config['scanMethod'] == 'ping' )
  110. {
  111. if( $config['os'] == 'windows' )
  112. {
  113. $cmd = shell_exec( &#092;"ping -n 1 -w 10 $ip\" );
  114. Return ( strpos( $cmd, '(100%' ) === False ) ? 'on' : 'off';
  115. }
  116. else
  117. {
  118. $cmd = shell_exec( &#092;"ping -c 1 -w 1 $ip\" );
  119. $pingResult = explode( &#092;",\", $cmd );
  120.  
  121. Return ( strpos( $pingResult[1], '1' ) === False ) ? 'off' : 'on';
  122. }
  123. }
  124.  
  125. else
  126. {
  127. Return &#092;"off\";
  128. }
  129. }
  130.  
  131.  
  132. function getmicrotime()
  133. { 
  134. list( $usec, $sec ) = explode( &#092;" \", microtime() );
  135. return( (float)$usec + (float)$sec ); 
  136. }
  137. ?>
  138.  
  139. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  140. <head>
  141. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" />
  142. <style type=\"text/css\">
  143. body {
  144. margin: 15px;
  145. font: 11px Verdana;
  146. color: #515151;
  147. }
  148.  
  149. table {
  150. text-align: center;
  151. border: 1px solid gray;
  152. }
  153.  
  154. a, a:link, a:visited {
  155. text-decoration: none;
  156. color: #515151;
  157. }
  158.  
  159. a:hover {
  160. text-decoration: underline;
  161. color: black;
  162. }
  163.  
  164. td, tr {
  165. font: 11px Verdana;
  166. color: #515151;
  167. }
  168.  
  169. .title {
  170. padding: 5px;
  171. background-color: #e5e5e5;
  172. color: black;
  173. text-align: center;
  174. font-weight: bold;
  175. }
  176.  
  177. .cell {
  178. padding: 5px;
  179. background-color: #F5F5F5;
  180. text-align: left;
  181. }
  182.  
  183. .cell2 {
  184. padding: 5px;
  185. background-color: #F5F5F5;
  186. font-weight: bold;
  187. text-align: center;
  188. }
  189.  
  190. .cell3 {
  191. padding: 5px;
  192. background-color: #F5F5F5;
  193. font-weight: bold;
  194. text-align: right;
  195. }
  196.  
  197. .separator {
  198. height: 2px;
  199. background-color: #D2D2D2;
  200. }
  201.  
  202. .stopka {
  203. font: 9px Verdana;
  204. color: #a5a5a5;
  205. }
  206. </style>
  207. <title>Status komputerów w sieci lokalnej</title>
  208. </head>
  209. <body>
  210.  
  211. <?
  212. print( $page );
  213. print( '<p class=\"stopka\">' );
  214. print( 'scan method: <b>' . $config['scanMethod'] . '</b><br>' );
  215. printf( 'generated in <b>%0.2f sec.</b><br>', $stoper );
  216. print( 'code by <b>BzikOS</b></p>' );
  217. ?>
  218.  
  219. </body>
  220. </html>


Ikonki (compon.gif i compoff.gif) można zrobić samemu, a bardzo leniwi mogą sobie pobrać te, które ja użyłem.

Skrypcik można używać i zmieniać do woli, jedyne o co proszę to o link do skryptu w przypadku użycia go (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


<b>[update]</b> Uwaga, skrypt przystosowany jest do sprawdzania komputerów w sieci lokalnej! Jeżeli ktoś chce sprawdzać zewnętrzne hosty, musi zwiększyć czas oczekiwania na odpowiedź (-w 10 - w przypadku pinga windowsowego; -max_rtt_timeout 10 - w przypadku nmapa), co niestety wydłuży czas sprawdzania hostów.
Czas ten podany jest w milisekundach, myślę, że w przypadku zewnetrznych hostów trzeba by ustawić go na co najmniej 200 ms.
Go to the top of the page
+Quote Post
BzikOS
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Podmienione fragmenty kodu z dodaną kolumną na nr GG.

  1. <?php
  2. $ipsArray['192.168.0.1'] = Array( &#092;"Host1\", \"nr GG 1\" );
  3. $ipsArray['192.168.0.2'] = Array( &#092;"Host2\", \"nr GG 2\" ); 
  4.  
  5. // (...)
  6.  
  7. $tblBegin = '<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" summary=\"\">
  8. <tr>
  9. <td colspan=\"4\" class=\"title\">Status komputerów w sieci lokalnej</td>
  10. </tr>
  11. <tr>
  12. <td colspan=\"4\" class=\"separator\"></td>
  13. </tr>
  14. <tr>
  15. <td class=\"cell2\">Status</td>
  16. <td class=\"cell2\">Host/ksywa/imię</td>
  17. <td class=\"cell2\">Adres IP</td>
  18. <td class=\"cell2\">Numer GG</td>
  19. </tr>';
  20.  
  21. $tblRow = '<tr>
  22. <td class=\"cell\" style=\"text-align: center\"><img src=\"comp{STATUS}.gif\"></td>
  23. <td class=\"cell\">{HOST}</td>
  24. <td class=\"cell\">{IP}</td>
  25. <td class=\"cell\">{NRGG}</td>
  26. </tr>';
  27.  
  28. $tblEnd = '<tr height=\"55\" valign=\"center\">
  29. <td class=\"cell3\" colspan=\"4\">W sumie: &nbsp;&nbsp;&nbsp; <img src=\"compon.gif\" align=\"absmiddle\"> {SUMAON}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"compoff.gif\" align=\"absmiddle\"> {SUMAOFF} </td>
  30. </tr>
  31. </table>';
  32.  
  33. // (...)
  34.  
  35. foreach( $ipsArray as $ip => $host )
  36. {
  37. $compStatus = scan( $ip );
  38.  
  39. ($compStatus == &#092;"on\") ? $compOn++ : $compOff++;
  40.  
  41. $row = $tblRow;
  42. $row = str_replace( '{STATUS}', $compStatus, $row );
  43. $row = str_replace( '{HOST}', $host[0], $row );
  44. $row = str_replace( '{IP}', $ip, $row );
  45. $row = str_replace( '{NRGG}', $host[1], $row );
  46.  
  47. $rows .= $row;
  48. }
  49. ?>
Go to the top of the page
+Quote Post
Junior
post
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 11.10.2003
Skąd: Zielona Góra

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


dzisiaj to sprawdze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
killemall
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.11.2003
Skąd: Wrocław

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


Działa jak należy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Thx.
Go to the top of the page
+Quote Post
lucek
post
Post #5





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

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


A moze jeszcze moglbym prosic przyklad - jak IP i inne dane (gg,email itp) pobierac z bazy danych.
A nazwy hostow pobierac z pobranego z bazy IP
Z gory dzieki
Go to the top of the page
+Quote Post
Bakus
post
Post #6


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Tworzysz sobie tabelę, umieszczasz w niej wszystkie dane a póżniej:
mysql_query" title="Zobacz w manualu PHP" target="_manual i pętelka while" title="Zobacz w manualu PHP" target="_manual.

  1. <?php
  2. mysql_connect(&#092;"serwer.mysql.pl\", \"nazwa_uzytkownika\", \"HasłoUżytKowNiKa\");
  3. mysql_select_db(&#092;"nazwa_bazy_danych\");
  4. $q = mysql_query(&#092;"SELECT * FROM kompurety\");
  5. while($w = mysql_fetch_array($q))
  6. {
  7.  $ipsArray[$w[&#092;"NumerIP\"]] = Array(gethostbyaddr($w[\"NumerIP\"]), $w[\"nrGG\"]);
  8. }
  9. ?>

Tabela w MySQLu:
Kod
+-----+---------------+---------+
|  ID |    NumerIP    |   nrGG  |
+-----+---------------+---------+
|   1 |   192.168.0.1 | 1247858 |
.     .               .         .
.     .               .         .
.     .               .         .
| 255 | 192.168.0.255 | 2562562 |
+-----+---------------+---------+


Kod bazy i uaktualnienia skryptu pisany na poczekaniu, może być mało wydajny przy dużej ilości compów, ale działa...
Go to the top of the page
+Quote Post
BzikOS
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Bakus: dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lucek
post
Post #8





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

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


Dzieki.

Tylko nie bardzo wiem w ktorym miejscu to wrzucic - i ktora czesc kodu usunac.
Go to the top of the page
+Quote Post
BzikOS
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Po prostu stare zmienne zastępujesz nowymi ($ipsArray, $tblBegin, $tblRow, $tblEnd) i jeszcze całą pętlę foreach zastępujesz nową.. that's all
Go to the top of the page
+Quote Post
Bakus
post
Post #10


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Ja zastosowałem [manual:fc0867e26e]while[/manual:fc0867e26e], bo do tego [manual:fc0867e26e]foreach[/manual:fc0867e26e] się nie za bardzo nadaje...

Było by to podwójne przepisywanie tablicy...
Go to the top of the page
+Quote Post
BzikOS
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Argh sorki.. pomyliły mi się posty, mój poprzedni post dotyczył wprowadzenia zmian tych z drugiego mojego postu, a nie Bakusia. Aby wprowadzić zmiany Bakusia, zastąp tylko tablice $ipsArray zaproponowanym przez niego kodem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mnichasso
post
Post #12





Grupa: Zarejestrowani
Postów: 97
Pomógł: 13
Dołączył: 26.06.2003
Skąd: Piekary Śląskie

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


Ja mam pytanie dlaczego u mnie na kompie wyskakuje błąd:
Cytat
Notice: Undefined variable: allowArray in c:apachehtdocsskrypcik.php on line 30

Notice: Undefined variable: rows in c:apachehtdocsskrypcik.php on line 91


linia 30 to:
[php:1:7cad617ecb]if( is_array( $allowArray ) ) [/php:1:7cad617ecb]

a linia 91 to:
[php:1:7cad617ecb] $rows .= $row; [/php:1:7cad617ecb]
Go to the top of the page
+Quote Post
BzikOS
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


To nie błąd tylko notatka (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A dlatego u Ciebie wyskakuje, ponieważ masz włączone pokazywanie notatek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Zrób tak:

Zamiast:
  1. <?php
  2. if( is_array( $allowArray ) )
  3. ?>


to:
  1. <?php
  2. if( isset( $allowArray ) )
  3. ?>


A przed foreachem zrób tak:
  1. <?php
  2. $rows = '';
  3. foreach( $ipsArray as $ip => $host )
  4. ?>


I powinno być ok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
BzikOS
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Posty nie związane bezpośrednio z tematem zostały wydzielone tu.
Go to the top of the page
+Quote Post
BzikOS
post
Post #15





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Uwaga. Dodałem do skryptu możliwość wyświetlania przydzielonych przez program shaperd widełek downloadu i uploadu dla każdego zdefiniowanego hostu.
Jeżeli ktoś uważa, że mu się przyda, niech pisze (oczywiście najpierw trzeba mieć postawionego i uruchomionego shaperd'a (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ).
Go to the top of the page
+Quote Post
gsk
post
Post #16





Grupa: Zarejestrowani
Postów: 129
Pomógł: 4
Dołączył: 21.02.2004
Skąd: z domu

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


a jak zrobic tak ze jak klikne na obrazek komputera jak komp jest online to mi sie otwiera przekladowo file://xxx/, a jak komp jest offline to nie ma nic (nie ma zadnego linku)...chodzi mi o ten skrypt ktory BzikOs napisal jak to w nim dodac...bo ja sie troche zamotalem... :wink:
Pozdrawiam
Go to the top of the page
+Quote Post
BzikOS
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
a jak zrobic tak ze jak klikne na obrazek komputera jak komp jest online to mi sie otwiera przekladowo file://xxx/, a jak komp jest offline to nie ma nic (nie ma zadnego linku)...

Czy ten link jest dla każdego hostu taki sam, czy są różne dla różnych hostów?
Go to the top of the page
+Quote Post
gsk
post
Post #18





Grupa: Zarejestrowani
Postów: 129
Pomógł: 4
Dołączył: 21.02.2004
Skąd: z domu

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


sa rozne...jak np. host jest xxx to file://xxx/ jak ppp to file://ppp/ i tak analogicznie...
____
BzikOS napisz jak to bedzie jak mozesz, bylbym ci wdzieczny...Pozdro...
Go to the top of the page
+Quote Post
BzikOS
post
Post #19





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Ok, a więc zamień:

  1. <?php
  2. $ipsArray['192.168.0.1'] = &#092;"Host1\";
  3. $ipsArray['192.168.0.90'] = &#092;"Host2\";
  4. //na
  5. $ipsArray['192.168.0.1'] = Array( 'Host1', 'http://link.com' );
  6. $ipsArray['192.168.0.90'] = Array( 'Host2' );
  7. ?>


  1. <?php
  2. $tblRow = '<tr>
  3. <td class=\"cell\" style=\"text-align: center\"><img
  4.  src=\"comp{STATUS}.gif\"></td>
  5. <td class=\"cell\">{HOST}</td>
  6. <td class=\"cell\">{IP}</td>
  7. </tr>';
  8. // na
  9. $tblRow = '<tr>
  10. <td class=\"cell\" style=\"text-align: center\">{STATUS}</td>
  11. <td class=\"cell\">{HOST}</td>
  12. <td class=\"cell\">{IP}</td>
  13. </tr>';
  14. ?>


  1. <?php
  2. // za linią
  3. ($compStatus == &#092;"on\") ? $compOn++ : $compOff++;
  4. //dopisz
  5. $compStatus = isset( $host[1] ) ? '<a href=\"'.$host[1].'\"><img src=\"comp'.$compStatus.'.gif\" border=\"0\"></a>' : '<img src=\"comp'.$compStatus.'.gif\">';
  6. ?>


That's all.
Go to the top of the page
+Quote Post
wassago
post
Post #20





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


fajna sprawa z tym shaperd'edem.
Go to the top of the page
+Quote Post
gsk
post
Post #21





Grupa: Zarejestrowani
Postów: 129
Pomógł: 4
Dołączył: 21.02.2004
Skąd: z domu

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


Thnx BzikOS tylko to dziala dla wszystkich komputerow tzn. dla online i offline a mi chodzi oto zeby to dzialalo tylko dla komputerow ktore sa aktualnie online..z gory thnx...napisz jakby to moglo wygladac...paaa
Go to the top of the page
+Quote Post
BzikOS
post
Post #22





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
Thnx BzikOS tylko to dziala dla wszystkich komputerow tzn. dla online i offline a mi chodzi oto zeby to dzialalo tylko dla komputerow ktore sa aktualnie online..z gory thnx...napisz jakby to moglo wygladac...paaa


  1. <?php
  2. $compStatus = ( isset( $host[1] ) && $compStatus == &#092;"on\" ) ? '<a href=\"'.$host[1].'\"><img src=\"comp'.$compStatus.'.gif\" border=\"0\"></a>' : '<img src=\"comp'.$compStatus.'.gif\">'; 
  3. ?>
Go to the top of the page
+Quote Post
berger
post
Post #23





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 10.02.2004

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


Witam.
Fajny ten skrypcik i potrzebny. Ale czy dałoby się tak go przerobić żeby odświerzał stan automatycznie np. po 30 sek albo 1, 2 czy 10 min ?
Pozdrawiam
Go to the top of the page
+Quote Post
BzikOS
post
Post #24





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


To już nie php, a zwykły html...
Dodaj w meta tagach linijkę:
  1. <meta http-equiv="refresh" content="30" />
Go to the top of the page
+Quote Post
berger
post
Post #25





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 10.02.2004

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


Dzięki !
Wszystko działa ok!
Dało się to nawet przerobic jako komponent mambo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (mam nadzieję że się zgadzasz).
Pozdrawiam i milego dnia
Go to the top of the page
+Quote Post
Chewolf
post
Post #26





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

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


Świetny skrypt przerobiłem go sobie na swoje potrzeby , ale czy można zrobić tak że skrypt będzie sprawdzał czy dany komputer coś udostępnia (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (nie mówie o klikaniu na adres i sprawdzaniu ;-))
Go to the top of the page
+Quote Post
BzikOS
post
Post #27





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat
(...) ale czy można zrobić tak że skrypt będzie sprawdzał czy dany komputer coś udostępnia (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (nie mówie o klikaniu na adres i sprawdzaniu ;-))


Ano można, jeżeli skrypt działa na linuxie trzeba posłuzyć się klientem samby (smbclient), a jeżeli pod windowsem (XP) poleceniem 'net view bios_name' lub 'net view wewnetrzny.adre.IP'. Później tylko sparsować wynik i wyświetlić. Nie pamiętam jakim narzędziem można sprawdzić zasoby w Windowsach z rodziny 9X.
Go to the top of the page
+Quote Post
Chewolf
post
Post #28





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

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


Cytat
Nie pamiętam jakim narzędziem można sprawdzić zasoby w Windowsach z rodziny 9X.

To chyba jest NET BIOS (nbtstat)
Go to the top of the page
+Quote Post
phoenix84
post
Post #29





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


a dlaczego mi na windows chodzi ping, a na unix tylko nmap? a ping nie?

pozdro

Phoenix
Go to the top of the page
+Quote Post
hwao
post
Post #30


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat
a dlaczego mi na windows chodzi ping, a na unix tylko nmap? a ping nie?

pozdro

Phoenix

bo nie musi 8)
To zalezy od systemu i czy mam taka funkcje ... ale jak dziala to poco pytac?
Go to the top of the page
+Quote Post
phoenix84
post
Post #31





Grupa: Zarejestrowani
Postów: 218
Pomógł: 0
Dołączył: 14.04.2004
Skąd: Słupsk, Nowy Sącz

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


bo dzieki ping moge na www reklamowac szybkosc sieci, bo mozna pokazywac realny ping w danym momecie do np. wp.pl (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

chyba, ze jest inny sposob (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

pozdro

phoenix
Go to the top of the page
+Quote Post
donek
post
Post #32





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 22.10.2004

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


Czesc, skrypt BzikOS jest calkiem niezly.
Nie znam wcale php i meczylem sie troche zeby go przerobic z nmap na arping. teraz wiekszosc osob stosuje firewalla ktory bez odpowiedniej konnfiguracji nie odpowiada pingiem. wiec arping jest dobrym sposobem zeby obejsc firewalla.
Zmienilem regolke nmapa na "arping -i eth1 -c1 $ip"
w lini Return ( stros ($cmd, '1 host up' === FALSE ) ? 'off; : 'on';
zmienilem na Return ( stros ($cmd, 0%' === FALSE ) ? 'off; : 'on';
Spowodowalo to ze nie pokazuje mi zadnego aktywnego komputera.
Moze mi ktos w tym pomoze?
Pozdrawiam
Damian
donky@tlen.pl
Go to the top of the page
+Quote Post
redmateo
post
Post #33





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 31.10.2004

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


wszystko ok, ale co w momencie kiedy na danym komputerze zainstalowany jest firewall? wówczas skrypt niestety nie daje rady ... zajełem się więc sprawdzaniem statusów z innej strony:

odczyt aktywności (ruchu) komputerów z pliku w którym przechowywane są dane na temat wzbudzzonych połączeń:

cat /proc/net/ip_conntrack | grep 192.168.0.1 | grep 80 > /var/www/html/stat/pc.txt

przetworzenie uzyskanych danych:

<?
$baza = "/var/www/html/stat/pc.txt";
$plik = file($baza);
$success = 0;
$sn = 0;
$en = count($plik);
do {
if(stristr($plik[$sn],"192.168.0.1")) {
$dataex = explode("|",$plik[$sn]);
$success++;
echo '<img src=http://polanie.net/stat/img/pc_online.jpg />192.168.0.1 <b><font color=008000>dziala</font></b>';
}
$sn++;
}
while($sn < $en);
if($success == 0) {
echo '<img src=http://polanie.net/stat/img/pc_offline.jpg />192.168.0.1 <b><font color=FF0000>awaria</font></b>';
}
?>

ale tu pojawia się błąd, w efekcie otrzymuje tyle ikon aktywnego komputera ile razy znaleziono ten sam wynik,

powstaje wiec pytanie: jak w wyniku pokazac tylko jedną ikonę bez względu na ilość odnalezionych wpisów?

Ten post edytował redmateo 31.10.2004, 15:21:50
Go to the top of the page
+Quote Post
Marusz
post
Post #34





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

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


Ok. Tym, którzy cierpią na kłopoty związane z użyciem przez userów firewalla, polecam poniższą modyfikację jednej z funkcji:

  1. <?php
  2.  
  3. function scan( &$ip )
  4. {
  5. global $config;
  6.  
  7. if( $config['scanMethod'] == 'nmap' )
  8. {
  9.  
  10. $cmd = shell_exec( &#092;"nmap -sP -max_rtt_timeout 20 $ip\" );
  11. Return ( strpos( $cmd, '1 host up' ) === False ) ? 'off' : 'on';
  12.  
  13. }
  14.  
  15.  
  16. elseif( $config['scanMethod'] == 'arping' )
  17. {
  18.  
  19. $cmd = strtolower ( shell_exec ( &#092;"sudo /sbin/arping -c 1 -w 1 $ip\" ) );
  20.  
  21. if ( ereg ( 'received 1 response', $cmd ) )
  22. {
  23.  
  24. Return &#092;"on\";
  25.  
  26. }
  27. else
  28. {
  29.  
  30. Return &#092;"off\";
  31.  
  32. }
  33.  
  34. }
  35.  
  36. elseif( $config['scanMethod'] == 'arplog' )
  37. {
  38.  
  39. $cmd = trim ( shell_exec ( &#092;"cat /proc/net/arp|grep $ip\" ) );
  40.  
  41. if ( !empty( $cmd ) )
  42. {
  43.  
  44. Return &#092;"on\";
  45.  
  46. }
  47. else
  48. {
  49.  
  50. Return &#092;"off\";
  51.  
  52. }
  53.  
  54. }
  55. else
  56. {
  57. Return &#092;"off\";
  58. }
  59.  
  60. }
  61.  
  62. ?>


Nie zapomnijcie zmodyfikować zmiennej $config['scanMethod']. Dwie nowe metody to arplog oraz arping. Miłej zabawy! A! W przypadku arpinga zastosowałem dostęp do owego dla użytkownika nobody (pracuje na nim apache) poprzez sudo. Odpowiednia konfiguracja pliku sudo (/etc/sudoers) wyglada tak:

nobody ALL=NOPASSWD:/sbin/arping

Ten post edytował Marusz 8.11.2004, 22:57:18
Go to the top of the page
+Quote Post
adisan1
post
Post #35





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 25.11.2004

Ostrzeżenie: (10%)
X----


Skrypcik jest genialny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mozna go dowolnie modyfikowac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale ja mam troche inne pytanko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


czy wie ktos jak przerobic ten skrypt na funkcjie bo mam 20 kompow i nie chce 20 x scrypt, dane wyciagam z bazy mysql
pobrac z bazy ip
przekazac do funkcji
funkcjia zwraca stan
funkcjia zeruje
pobiera kolejne ip
itd. <czy dobrze mysle (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) >

z gory serdecznie dziekuje za pomoc

Ten post edytował adisan1 1.12.2004, 13:50:21
Go to the top of the page
+Quote Post
omen
post
Post #36





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.06.2003

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


Hejka

Mam pytanko czy ktoś przerobił ten skrypcik tak żeby pokazywał akualnie włączone FTPy w sieci lokalnej ? (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Czy ktoś ma pomysł jak to zrobić ?


Pozdrawiam
Go to the top of the page
+Quote Post
bela
post
Post #37


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


zrob tak aby skanowało port 21
Go to the top of the page
+Quote Post
omen
post
Post #38





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.06.2003

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


Mam prośbe do wszystkich speców od php, czy mogł by ktoś przerobić ten skrypcik tak żeby pokazywał FTPy on i off line oraz status gg.

przykład ping


Pozdrawiam
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #39





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Co do ftpow, uzyj socketow i proboj sie polaczyc na poort ftpa (domyslnie 21).
Go to the top of the page
+Quote Post
Bakus
post
Post #40


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Pochwale się swoją modyfikacją:
https://ssl.idn.net.pl/admin/lan/stan/

(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
bela
post
Post #41


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


Bakus Brak dostępu! Haha (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
omen
post
Post #42





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.06.2003

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


Heheheh u mnie też Brak dostępu! (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Bakus wrzuć kodzik tego skryptu.



Pozdrawiam
Go to the top of the page
+Quote Post
wojteks
post
Post #43





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 22.12.2004

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


powiedzcie mi co jest nie tak wszytko mi działa tylko wypisuje:

Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /mnt/storage/users/c/h/w/chww/lan.php on line 105

linia 105 to
  1. <?php
  2.  
  3. $cmd = shell_exec( &#092;"ping -n 1 -w 10 $ip\" );
  4.  
  5. ?>
Go to the top of the page
+Quote Post
bela
post
Post #44


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


jest wlaczony Safe Mode
Go to the top of the page
+Quote Post
Bakus
post
Post #45


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) trzecia linijka została przezemnie pominięta przy wrzucaniu linku (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Skrypt jest dostosowany do wyciągan ia danych z panelu administracyjnego routera Asmax AR-701u
Pod w/w linkiem juz jest dostep...
  1. <?php
  2.  
  3. if(eregi(&#092;"^192.168.0.([0-9]+)$\", $_SERVER['REMOTE_ADDR']) == false)
  4. {
  5. print &#092;"Brak dostępu!\";
  6. exit();
  7. }
  8.  
  9. /* IPki do sprawdzenia */
  10.  
  11. $ipsArray['192.168.0.1'] = &#092;"Master server\";
  12. $ipsArray['192.168.0.2'] = &#092;"Router\";
  13. $ipsArray['192.168.0.4'] = &#092;"Terminal\";
  14.  
  15. $data = @implode('', @file(&#092;"http://login:haslo@ADRES_IP_ROUTERA/doc/lan1.htm\"));
  16. ereg(&#092;"st_dhcp_client_mac = new Array(([0-9]+));n(.*)nvar numDHCPClients\", $data, $array);
  17. $array = str_replace(array('st_dhcp_client_ip', '192.168.0.'), array('$ip', ''), $array[2]);
  18. $array = eregi_replace('st_dhcp_client_mac[([0-9]+)] = \"([:[:alnum:]]+)\";', '', $array);
  19. eval($array);
  20. sort($ip);
  21. foreach($ip as $ipek)
  22. {
  23. $DHCPipsArray[] = &#092;"192.168.0.\" . $ipek;
  24. }
  25.  
  26. $time_start = getmicrotime();
  27. $compOn = $compOff = 0;
  28. function scan( &$ip )
  29. {
  30. $cmd = shell_exec(&#092;"nmap -sP -max_rtt_timeout 10 \" . $ip);
  31. return (strpos( $cmd, '1 host up') === false) ? 'off' : 'on';
  32. }
  33. function getmicrotime()
  34. { 
  35. list( $usec, $sec ) = explode( &#092;" \", microtime() );
  36. return( (float)$usec + (float)$sec ); 
  37. }
  38. ?>
  39. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
  40. <!--
  41. Stworzone na podbudowie skryptu BzikOSa
  42. -->
  43. <head>
  44. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" />
  45. <style type=\"text/css\">
  46. body {
  47. margin: 15px;
  48. font: 11px Verdana;
  49. color: #515151;
  50. }
  51. table {
  52. text-align: center;
  53. border: 1px solid gray;
  54. }
  55. a, a:link, a:visited {
  56. text-decoration: none;
  57. color: #515151;
  58. }
  59. a:hover {
  60. text-decoration: underline;
  61. color: black;
  62. }
  63. td, tr {
  64. font: 11px Verdana;
  65. color: #515151;
  66. }
  67. .title {
  68. padding: 5px;
  69. background-color: #e5e5e5;
  70. color: black;
  71. text-align: center;
  72. font-weight: bold;
  73. }
  74. .cell {
  75. padding: 5px;
  76. background-color: #F5F5F5;
  77. text-align: left;
  78. }
  79. .cell2 {
  80. padding: 5px;
  81. background-color: #F5F5F5;
  82. font-weight: bold;
  83. text-align: center;
  84. }
  85. .cell3 {
  86. padding: 5px;
  87. background-color: #F5F5F5;
  88. font-weight: bold;
  89. text-align: right;
  90. }
  91. .stopka {
  92. font: 9px Verdana;
  93. color: #a5a5a5;
  94. text-align: center;
  95. }
  96. </style>
  97. <title>Status komputerów w sieci lokalnej</title>
  98. </head>
  99. <body>
  100. <table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" align=\"center\">
  101. <tr>
  102. <td colspan=\"3\" class=\"title\">Komputery ze statycznym adresem IP</td>
  103. </tr>
  104. <tr>
  105. <td class=\"cell2\">Status</td>
  106. <td class=\"cell2\">Host/ksywa/imię</td>
  107. <td class=\"cell2\">Adres IP</td>
  108. </tr>
  109. <?php
  110. foreach( $ipsArray as $ip => $host )
  111. {
  112. $status = scan( $ip );
  113. if($status == &#092;"on\")
  114. {
  115. $compOn++;
  116. }else{
  117. $compOff++;
  118. }
  119. ?>
  120. <tr>
  121. <td class=\"cell\" style=\"text-align: center\"><img src=\"comp<?php print $status; ?>.gif\"></td>
  122. <td class=\"cell\"><?php print $host; ?></td>
  123. <td class=\"cell\"><?php print $ip; ?></td>
  124. </tr>
  125. <?php
  126. }
  127. ?>
  128. <tr>
  129. <td colspan=\"3\" class=\"title\">Komputery podłączone do DHCP*</td>
  130. </tr>
  131. <tr>
  132. <td class=\"cell2\">Status</td>
  133. <td colspan=\"2\" class=\"cell2\">Adres IP</td>
  134. </tr>
  135. <?php
  136. foreach($DHCPipsArray as $ip)
  137. {
  138. $status = scan($ip);
  139. if($status == &#092;"on\")
  140. {
  141. $compOn++;
  142. }else{
  143. $compOff++;
  144. }
  145. ?>
  146. <tr>
  147. <td class=\"cell\" style=\"text-align: center\"><img src=\"comp<?php print $status; ?>.gif\"></td>
  148. <td colspan=\"2\" class=\"cell\"><?php print $ip; ?></td>
  149. </tr>
  150. <?php
  151. }
  152. ?>
  153. <tr height=\"55\" valign=\"center\">
  154. <td class=\"cell3\" colspan=\"3\">W sumie: &nbsp;&nbsp;&nbsp; <img src=\"compon.gif\" align=\"absmiddle\"> <?php print $compOn; ?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=\"compoff.gif\" align=\"absmiddle\"> <?php print $compOff; ?> </td>
  155. </tr>
  156. </table>
  157. <?php
  158. $time_end = getmicrotime();
  159. $stoper = $time_end - $time_start;
  160. print '<p class=\"stopka\">*-Nie pokazuje wyłączonych<br />';
  161. printf('Generated in <b>%0.2f sec.</b></p>', $stoper);
  162. ?>
  163. </body>
  164. </html>
Go to the top of the page
+Quote Post
alchemic
post
Post #46





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 8.01.2004
Skąd: Legnionowo

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


Witam

mam to odpalone na Alacer 2.0 i nie dziala tz dziala ale wyswietla ze nikt nie jest polaczony.. a 100% ze jest bo normalny ping dziala... dlaczego ?

a ten ostatni :

"Brak dostępu!" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował alchemic 10.02.2005, 01:40:59
Go to the top of the page
+Quote Post
Bakus
post
Post #47


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


"Ten ostatni" był przez jakiś czas dostępny, ale już nie jest. Jeżeli byś zerknął w źródło (linijka nr 3), to byś zobaczył, że skrypt nie akceptuje komputerów z poza sieci wewnętrznej...
Poza tym "Skrypt jest dostosowany do wyciągan ia danych z panelu administracyjnego routera Asmax AR-701u"...


Porponuję Ci uruchomić skrypt BzikOSa z pierwszego postu i ustawić w nim:
  1. <?php
  2. $config['os'] = 'windows';
  3.  
  4. $config['scanMethod'] = 'ping';
  5. ?>


Pod windowsem nie ma innej metody jak ping - nmap działa TYLKO pod systemami rodziny unix i linux.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #48





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
od windowsem nie ma innej metody jak ping - nmap działa TYLKO pod systemami rodziny unix i linux.

Jest wersja nmapa dla windowsa -- instalowalem kiedys.
Go to the top of the page
+Quote Post
boya
post
Post #49





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

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


Cytat(BzikOS @ 2003-12-15 00:54:34)
Podmienione fragmenty kodu z dodaną kolumną na nr GG.

Hmmm....
a server na którym sie hostuje na to:

Fatal error: Call to undefined function: scan() in /home/studinf/public_html/strony/1.php on line 37

pozdr.
Go to the top of the page
+Quote Post
BzikOS
post
Post #50





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Cytat(boya @ 2005-02-10 19:41:44)
Cytat(BzikOS @ 2003-12-15 00:54:34)
Podmienione fragmenty kodu z dodaną kolumną na nr GG.

Hmmm....
a server na którym sie hostuje na to:

Fatal error: Call to undefined function: scan() in /home/studinf/public_html/strony/1.php on line 37

pozdr.

Przesadziłeś z podmienianiem.
Go to the top of the page
+Quote Post
piwib
post
Post #51





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 7.11.2005

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


Rozwiązał ktoś problem firewalla? Było podane rozwiązanie ale mi nie działą pokazując wszystkie kompy offline. Używam metody ping i kilka osób z sieci nie udaje mi się zeskanować.
Go to the top of the page
+Quote Post
piser
post
Post #52





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.11.2004

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


Oto przykład skryptu który strawdza stan komputera niezaleznie od tego czy mamy firewalla czy nie:

Kod
<?php
$ip="127.0.0.1";
$port=80;
$time=5;
$fp =@fsockopen($ip,$port,$errCode,$errStr,$time);
if (!$fp) {
echo('nie polaczylo mnie');
} else {
echo('polaczylo mnie');
}
?>


Mozna to dowolnie przerobic, powyzej mamy przyklad dla konkretnego ipka z konkretnym portem
Go to the top of the page
+Quote Post
boug
post
Post #53





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 14.05.2006

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


Spoko bardzo fajny jest ten skrypt ale nei wiem dlaczego nei moge odpalić wersji z arping czy ktoś powie jak to zrobić?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
em1X
post
Post #54





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Cytat("piser")
Oto przykład skryptu który strawdza stan komputera


Piser, a od kiedy każdy komputer nasłuchuje port 80? Tylko serwery www ci na to odpowiedzą.
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 25.08.2025 - 02:27