Comprendo che il server può scoprire il mio indirizzo IP, posizione, informazioni sul browser e sistema operativo. Informazioni sul sistema operativo ... Se eseguo Linux, è possibile per il server scoprire quale distribuzione Linux sto utilizzando?
Comprendo che il server può scoprire il mio indirizzo IP, posizione, informazioni sul browser e sistema operativo. Informazioni sul sistema operativo ... Se eseguo Linux, è possibile per il server scoprire quale distribuzione Linux sto utilizzando?
Risposte:
Molto probabilmente. Fai clic su questo link per vedere cosa invia il tuo browser al server web. Il sistema operativo deve essere elencato nella prima categoria chiamata "User Agent"
Un altro buon sito che ti mostrerà cosa può imparare un sito Web sul tuo sistema quando visiti il sito è BrowserSpy.dk ; il sito della Electronic Frontier Foundation (EFF) elencato nella risposta di Keltari utilizza parte del codice di BrowserSpy.dk. Se fai clic su Browser nel menu a sinistra della home page, vedrai le informazioni relative al tuo browser. Quando visito la pagina usando Firefox su un sistema Ubuntu Linux, vedo "Mozilla / 5.0 (X11; Ubuntu; Linux i686; rv: 24.0) Gecko / 201001 Firefox / 24.0)"
Esistono diversi luoghi in cui il browser può inviare informazioni:
User-AgentIntestazione HTTP. Fa parte delle specifiche HTTP e ogni richiesta ha una https://en.wikipedia.org/wiki/User_agent . Come puoi vedere, c'è il nome del motore, la versione del browser e il nome del sistema operativo. Utilizza la "barra degli strumenti per sviluppatori" o "firebug" per trovare un elenco di intestazioni che il browser invia: /programming/4423061/view-http-headers-in-google-chrome
JavaScript: esiste una Navigatorclasse in JavaScript, fornisce il nome del sistema operativo e il nome del browser: http://www.w3schools.com/js/js_window_navigator.asp . Alcuni siti potrebbero utilizzare JS per rilevare queste informazioni e rispedirle al server. È possibile utilizzare JS semplice per verificarealert(navigator.appName); alert(navigator.platform);
Impronta digitale dello stack TCP / IP: diverse implementazioni TCP / IP (WinSock vs Berkley socket) e diverse versioni del sistema operativo hanno opzioni predefinite leggermente diverse. Alcuni euristici potrebbero essere utilizzati per rilevare la famiglia di sistemi operativi. Questo è un approccio in stile hacker e usato molto raramente: https://en.wikipedia.org/wiki/TCP/IP_stack_fingerprinting
JavaScript moderno può anche segnalare la tua posizione (come il GPS) tramite l'API di geolocalizzazione, ma ti chiede sempre se vuoi fornire queste informazioni al server oppure no: http://www.w3schools.com/html/html5_geolocation.asp
A proposito, non è sempre possibile per il server trovare il tuo IP reale. In caso di proxy, il proxy può inviare il tuo IP reale al server (utilizzando X-Real-IPo X-Forwarded-Forintestazioni), ma non è necessario. E potresti anche non avere un IP pubblico se NAT è configurato sul tuo router. In questo caso il server conoscerà solo l'IP pubblico del tuo router e ci potrebbe essere l'intero ufficio (diverse centinaia di persone) sotto un unico IP pulic.
La stringa dell'agente utente viene in genere inviata al sito Web che si sta visitando. Questa stringa UA viene quindi decifrata e di solito sarà sufficiente per identificare alcune informazioni di base sulla tua macchina.
Utilizzando Chrome, ecco come il mio browser Web si presenta a questo sito: