Pero .. scanear "los puertos" .. de quien .. de donde?
Es importante que definas esto .. por qué un "scaneo" de puertos se hace en función de dos cosas:
1) conocer la IP de quien quieres scanear esos puertos.
2) scanear esos puertos por algún rango o lista de puertos que tengas.
El "scaneo" desde PHP de un puerto lo puedes hacer por sockets .. ya sea probando a conectarte con fsockopen() y funciones afines: si te conectas .. está abierto . .si se rechaza tu conexión .. está cerrado. O mejor con las funciones de sockets de PHP para tal fin (requieren tener instalado cierta extensión en PHP .. ojo con eso).
http://www.php.net/sockets http://webmaster.bankhacker.com/php/sockets.phtml
Si quieres algo ya hecho al respecto .. busca algo en
www.hotscripts.com o consulta en el foro de "Aplicaciones pre-fabricadas".
Un saludo,