Come dici tu, quando la comunicazione avviene su localhost
, nessun pacchetto va alla rete esterna, quindi se l'acquisizione avviene, allora deve accadere sulla macchina stessa.
Ci sono due punti degni di nota a tale riguardo:
-
L'acquisizione su localhost
non funziona su tutto il sistema operativo. In particolare, non funziona bene su Windows (ci sono soluzioni parziali ), mentre funziona su Linux.
-
La cattura richiede alcuni ampi diritti di accesso. Le persone che possono catturare localhost
traffico hanno già root
o Administrator
di accesso sulla macchina, quindi possono anche ispezionare direttamente la RAM del processo in questione e generalmente fanno ciò che vogliono con la macchina.
Pertanto i problemi di sicurezza relativi a una connessione localhost
non provengono dall'acquisizione del traffico. Più spesso, i problemi provengono da applicazioni non privilegiate sulla stessa macchina (in esecuzione come un altro utente locale) che si connettono al server. Un server locale sensibile alla sicurezza userà solitamente getpeereid()
(su sistemi simil-Unix) per sapere chi è connettendosi ad esso.