ciao,
credo che dato un indirizzo IP
basta che fai un ciclo su tutte le porte usando queste due funzioni

http://php.net/manual/en/function.getservbyport.php
http://php.net/manual/en/function.fsockopen.php

è hai il tuo ip-scanner...
(naturalmente dovrai implementre una funzione di waiting tra lo scan di una porta e e un'altra)