PHP  »  Articoli  »  Programmazione Php 

Port scanning in PHP

di: Claudio Garau     09 Ottobre 2008

Per port scanning o "scansione delle porte" si intende una procedura attraverso la quale è possibile raccogliere informazioni sullo stato di un sistema e dei servizi in esecuzione all'interno di esso; il riferimento alle porte contenuto nel nome è dovuto al fatto che la scansione viene effettuata definendo quali porte siano in ascolto su una determinata postazione, una porta è infatti "in ascolto"(e quindi aperta) nel momento in cui vi è un processo che la utilizza.

Contrariamente a quanto si potrebbe pensare, il port scanning non è di per sé una tecnica di hacking ma una procedura abbastanza comune presso gli amministratori di rete e di sistema, serve infatti a verificare il funzionamento di determinate applicazione o per stabilire se una macchina presenta un ambiente adeguato per il funzionamento di un certo programma.

Anche uno script PHP è un'applicazione, in sede di sviluppo può quindi essere utile raccogliere informazioni relative ai servizi che girano all'interno del server e pensare di conseguenza la propria applicazione in modo che sia in grado di generare dinamicamente comportamenti in risposta alle condizioni dell'ambiente di riferimento. Un semplice esempio potrebbe essere quello relativo alle notifiche: un'applicazione potrebbe cioè essere concepita per segnalare all'utilizzatore, magari tramite posta elettronica, che un servizio è offline nel momento in cui si cerca di accedere ad esso.

In questa breve trattazione, vedremo come sia possibile effettuare basilari operazioni di scansione delle porte utilizzando dei semplici script realizzati in PHP.

Port Scanning e interazione con i servizi lato server

Uno script PHP viene eseguito all'interno di un Web server (per esempio Apache) e con esso interagisce, ma all'interno della macchina ospitante l'applicazione ha spesso la possibilità di funzionare in associazione ad altri servizi, come per esempio quelli relativi ad un Database Manager o ad un server di posta elettronica.

I servizi generalmente in funzione all'interno di un server destinato ad ospitare pagine Web, come per esempio HTTP, FTP o SMTP, sono in ascolto attraverso una determinata porta e la loro esecuzione potrà essere facilmente verificata attraverso di essa, se questa non restituisce alcuna risposta il servizio è infatti off line.

Una semplice verifica dello stato di una porta potrà essere effettuata tramite il test del servizio HTTP messo a disposizione da un Web server come Apache; a meno di personalizzazioni, di default questo servizio rimane in ascolto tramite la porta 80, quindi per verificarne il funzionamento sarà sufficiente richiamarlo attraverso il numero identificativo di quest'ultima: http://localhost:80

Questa elementare operazione di port scanning viene eseguita abbastanza frequentemente, quando per esempio si digita l'URL del proprio sito Web per sapere se è on line si esegue in pratica la stessa procedura.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti