PHP: strefaphp.net
PHP: strefaphp.net



 
Czy odwiedziłeś już te strony? -
dodał: Vengeance

Opis artykułu dodano: 06-11-2004 01:03
W artykule został przedstawiony sposób budowy skanera portów.
dodał: AndyPSV | autor: AndyPSV | czytano: 13320 razy

Inne materiały do artykułu

Skaner portów w PHP
W niniejszym artykule postaram się przedstawić budowę skanera portów w PHP.

Poniżej został umieszczony kod skanera portów. Wszystkie niezbędne informacje są zamieszczone w komentarzach.

Kod:

<?php
/**
 * Skrypt pozwalający na skanowanie hostów,
 * wykrywanie portów otwartych i zamkniętych.
 * 
 * (c) by AndyPSV
 */
 
 // wstawiamy arkusz stylów, aby wyniki porządnie wyglądały (jak szaleć to na maksa ;)
 
echo '<html>'."\n"
      
.' <head>'."\n"
      
.'  <title>Skaner portów byc AndyPSV</title>'."\n"
      
.'   <style type="text/css">'."\n"
      
.'        body{background-color:#FFFFFF;font: 13px Tahoma; color: #000000; vertical-align: middle;}'."\n"
      
.'   </style>'."\n"
      
.' </head>'."\n"
      
.'<body>'."\n";
 
 
// skrypt może się długo wykonywać !
 
set_time_limit(0);
 
 
// wyłączamy zgłaszanie błędów
 
error_reporting(0);
 
 
// ustaw host do skanowania...
 
$host '127.0.0.1';
 
 
// ustaw wartości wpisując np. wartość 0
 // poniższe wartości zostały wpisane dla przykładu...
 
$port_begin '78';
 
$port_end '81';
 
 
// ustawiamy dwie zmienne domyślne... potrzebne do wyświetlenia statystyk NIE MODYFIKOWAĆ !
 
$open_ports '0';
 
$closed_ports '0';
 
 
// sprawdzamy czy wartości zostały wpisane ;]
 
if(empty($host) OR empty($port_begin) OR empty($port_end)) {
     die(
'Nie zostały wypełnione odpowiednie pola - zajrzyj do źródła skryptu i uzupełnij !');
 }
 
 echo 
'&middot; <b>Zeskanowane porty:</b>'."\n"
      
.'<br>'."\n";
 
 for(
$i $port_begin$i <= $port_end$i++) {
     
$fp fsockopen($host$i);
     
     if(
$fp) {
         echo 
'<b>'.$i.'</b> -> <b>otwarty</b>'."\n"
             
.'<br>';
         
$open_ports++;
     } else {
         echo 
$i.' -> zamknięty'."\n"
             
.'<br>';
         
$closed_ports++;
     }
     
     
fclose($fp);
 }
 
 echo 
'<br>'."\n"
      
.'<b>Statystyki:</b>'."\n"
      
.'    <br>'."\n"
      
.'Ilość portów otwartych: <b>'.$open_ports.'</b>'."\n"
      
.'    <br>'."\n"
      
.'Ilość portów zamkniętych: '.$closed_ports."\n"
     
.'</body>'."\n"
      
.'</html>';

?>


Plik .php należy umieścić na serwerze, na którym nie została zablokowana funkcja fsockopen() - jest to bardzo ważne, ponieważ w przeciwnym razie skrypt 'nie zadziała', instrukcje w nim zawarte nie zostaną wykonane. W przypadku problemów ze znalezieniem odpowiedniego serwera proponuje wziąść sobie do serca słowa: "google.com is the key !".

Życzę miłego korzystania !


Pozdrawiam,
AndyPSV [ mailto: andypsv@irc.pl ]
www.cfaniak.pl ;]
PHP: strefaphp.net
wyślij email informacje forum download skrypty katalog kursy porady artykuły home współpraca reklama kontakt