Se due programmi sulla stessa macchina comunicano tramite TCP, possono essere visti dall'esterno?

7

Supponiamo che ci siano due programmi in esecuzione sullo stesso computer contemporaneamente. Il computer è connesso a una LAN. I due programmi comunicano tramite un socket TCP e il socket viene aperto utilizzando l'indirizzo IP del computer sulla rete, ad esempio 192.168.x.x

In questo caso, qualcuno che ha il controllo sul router, ma non sul computer, può vedere qualcosa? (sia la connessione in corso di preparazione, sia i dati stessi) I pacchetti lasciano mai il computer? Farebbe la differenza se il client fosse connesso a 127.0.0.1 invece di 192.168.x.x?

    
posta vsz 22.10.2015 - 22:26
fonte

2 risposte

2

Ciascuno di questi indirizzi IP dovrebbe andare bene per mantenerlo interno alla macchina. Se si è tentato di connettersi tramite il proprio indirizzo IP pubblico (che molto probabilmente richiederebbe il port forwarding) potrebbe esporre le informazioni a livello di router, ma non al di fuori del router. La tua scheda di interfaccia di rete sa che non è necessario inviare pacchetti quando la destinazione è di per sé.

    
risposta data 22.10.2015 - 22:59
fonte
0

Supponendo che ci sia tutto a posto con il tuo set-up, le uniche due situazioni che ti vengono in mente in cui il traffico potrebbe fuoriuscire è quando i suddetti programmi utilizzerebbero per qualche motivo l'indirizzo broadcast , o usa qualcosa di seguito il livello IP . Nel primo caso ci sarebbero alcuni dati trasmessi sulla LAN, una situazione che non accadrebbe se si usasse 127.0.0.1. Quest'ultimo caso è altamente improbabile, ma non impossibile. Alcuni vecchi programmi potrebbero utilizzare un protocollo oscuro per comunicare.

Il test finale sarebbe ovviamente quello di annusare tutto il traffico (usando Wireshark per esempio), solo per essere sicuri.

    
risposta data 23.10.2015 - 20:18
fonte

Leggi altre domande sui tag