Un nome di dominio lascia mai il mio sistema locale se l'IP corrispondente è definito nel mio file hosts?

2

Dato il dominio website.org e un server web corrispondente con l'IP 1.2.3.4 .

Se un client definisce l'IP con il nome di dominio nel suo file host come:

$ cat /etc/hosts
[...]
1.2.3.4    website.org

Il client invia mai il nome di dominio effettivo in una richiesta, quando accede al sito web o utilizza esclusivamente l'indirizzo IP?

    
posta boolean.is.null 17.07.2016 - 12:47
fonte

2 risposte

3

Per le connessioni HTTP e probabilmente anche altri protocolli, il tuo browser (o un altro client) inserirà il nome del dominio nell'intestazione Host: . Ad esempio, una richiesta potrebbe iniziare in questo modo:

GET / HTTP/1.1
Host: website.org
...

Attraverso una connessione non criptata, questo rivelerebbe il dominio di destinazione.

Per le connessioni TLS (più comunemente, HTTPS), la maggior parte dei client specificherà a quale host si desidera connettersi (questa funzione è chiamata SNI e viene utilizzata nel caso in cui lo stesso IP stia servendo più domini) in testo normale. Il server risponderà con un certificato che contiene il nome del dominio (indipendentemente dal fatto che il client stia utilizzando SNI) e questo certificato viene anche trasmesso in formato testo; chiunque orecchi la connessione può leggere il traffico in entrambe le direzioni. Il certificato può specificare più nomi di dominio, che di solito sono sottodomini di una radice o più domini di proprietà di una società.

Inoltre, il reverse DNS è una cosa. Se qualcuno vuole sapere con quale dominio stai comunicando, e quei domini sono registrati in DNS, allora possono fare una ricerca inversa sugli indirizzi IP. Proprio come una normale ricerca DNS associa un nome a un IP, una ricerca inversa mappa un IP con un nome. Ancora una volta, potrebbero esserci più nomi di dominio che si associano tutti a quell'IP, nel qual caso la ricerca inversa restituirà più nomi, ma di solito sono correlati.

Esistono anche strumenti che interagiscono esplicitamente con il DNS (e quindi inviano nomi di dominio sulla rete), come nslookup e whois . Tuttavia, quelle non sono cose che di solito utilizzi in un sito che conosci abbastanza bene da avere nel tuo file Hosts.

    
risposta data 17.07.2016 - 13:22
fonte
3

Does the client ever send the actual domain name in a request, when accessing the website, or does it exclusively use the IP address?

Il nome host è incluso nella richiesta HTTP (HTTP è il protocollo parlato quando si accede a un sito Web). Per esempio. l'accesso a http://www.example.org/foo risulta in:

 GET /foo HTTP/1.1
 Host: www.example.org

Inoltre, il nome host viene inviato in chiaro all'interno di TLS ClientHello quando si accede a un sito con HTTPS (solo con SNI ma questo è cosa fanno tutti i browser moderni)

    
risposta data 17.07.2016 - 13:19
fonte

Leggi altre domande sui tag