È perché la destinazione API non può essere nascosta da SSL.
Che cosa è nascosto da SSL, sono i dati, ad esempio la richiesta e la risposta, compresa la parte del percorso dell'URL.
Quindi, da questo URL: link
quanto segue sarà crittografato: /search.php?sdata=somedata
la prima parte, link , NON sarà crittografata (leggi di più perché no).
Che cosa non è nascosto, è l'IP di destinazione e la porta di destinazione. Inoltre, la richiesta DNS immediatamente precedente viene inviata in chiaro.
Uno sniffer, in grado di rilevare il nome caotico della destinazione in 2 modi:
O può ricordare precedenti risposte DNS sniffate, quindi se in precedenza hai effettuato una ricerca DNS per consentire di dire api.example.org e ottenere un IP di "8.8.4.4", lo sniffer può quindi sostituire tutte le occorrenze di 8.8. 4.4 in seguito con api.example.org
Oppure, può fare un cosiddetto rDNS o reverse DNS lookup. Ciò significa che si effettua una ricerca di un record PTR per l'IP al contrario, quindi il rDNS di 8.8.4.4 può essere trovato in un PTR per 4.4.8.8.in-addr.arpa che risulta in google-public-dns-b. google.com, quindi lo sniffer può sostituire tutte le occorrenze di 8.8.4.4 con google-public-dns-b.google.com
Dato che puoi vedere la destionazione dell'API solo per parte del traffico, sospetto che sia il primo caso qui valido, perché se hai fatto la ricerca DNS prima di eseguire lo sniffer, questa ricerca viene memorizzata nella cache per un periodo in il tuo telefono, il che significa che se il server in questione non ha un valore rDNS, lo sniffer visualizzerà normalmente un IP invece del nome caonical, che può dare l'impressione che alcune destinazioni siano "crittografate" quando in realtà non lo sono.
Se si desidera nascondere la destinazione API dallo sniffing, è necessario utilizzare una sorta di proxy o VPN, in cui il traffico tra client e proxy / VPN è crittografato.