Le porte sono come buchi in un muro, esistono ma se nessuno presta attenzione a loro non serve gettarle contro di esse.
Un programma utilizza le porte (o socket) per connettersi con altri dispositivi nella stessa rete (e attraverso tecniche di routing il programma può raggiungere altre reti). Il modo in cui funziona è che il programma apre una connessione verso l'esterno e ascolta quella connessione che ha aperto. Il programma deve fare qualcosa di speciale per ascoltare le connessioni in arrivo dall'esterno (come fanno i server HTTP, prendono ogni connessione che va alla porta 80 -per esempio- ed elaborano tale richiesta).
Se il programma non esegue questa cosa speciale , allora anche se una connessione passa attraverso quella porta, il programma non la elabora e va a vuoto.
Quando hai ottenuto l'IP del tuo aggressore hai scansionato le porte aperte, ma l'utente malintenzionato non aveva un programma che ascoltava le connessioni dal mondo esterno (o lo aveva impostato in modo tale da registrare solo le tue richieste di connessione ma faceva niente con loro).
Il modo migliore per proteggersi da attacchi come questo è installare un firewall e magari un monitor di rete, ad esempio Little Snitch ti dirà ogni volta che un programma avviene una connessione da o dal tuo computer, e puoi bloccare o consentire quella connessione. Vedrai che almeno in OSX ci sono molte chiamate ai server Apple.