Projektowanie stron WWW od podszewki
Losowy artykuł: Patrycja

Artykuły na każdy temat

[PHP] Skanowanie portów z użyciem fsocketopen

Dodano 17.11.2009r. o 04:31
Poniższy kod prezentuje prostą metodę skanowania portów z użyciem fsocketopen(). Zwarzywszy na małą wydajność nie polecam tego rozwiązania! Pamiętajmy także, aby parametr timeout był odpowiednio dobrany. Inne czas odrzuceń będą dla hostów w Polsce, a inne dla graczy z USA. Mam na myśli dystans między maszynami i ich ping. Lepszą metodą skanowania jest używanie narzędzia o nazwie Nmap. Dla ciekawostki powiem, iż można połączyć nmap oraz PHP przy pomocy exec() lub podobnych funkcji.
Kod:
<?php
$cfg['target'] = '127.0.0.1';
$cfg['timeout'] = 0.5;
$cfg['port']['from'] = 25;
$cfg['port']['to'] = 100;

for($h 0$tmp['how'] = $cfg['port']['to'] - $cfg['port']['from']; $h <= $tmp['how']; ++$h)
{
 $tmp['port'] = $h $cfg['port']['from'];

 if(@fsockopen($cfg['target'], $tmp['port'], $errno$errstr$cfg['timeout']))
 {
  $tmp['open'][] = $tmp['port'];
 }
}

echo (!empty($tmp['open']) ? 'Otwarte porty to: '.implode(', '$tmp['open']) : 'Nie wykryto otwartych portów');
?>
Więcej informacji na:
http://php.net/manual/pl/function.fsockopen.php

Komentarze

Brak komentarzy

Dodaj komentarz

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)