Non direttamente prima di Sierra su macOS - Non ho ancora trovato un modo per dire dopo il fatto se un aggiornamento proviene dalla cache o da Apple sul lato client osservando i registri invece di sniffare connessioni di rete e traffico.
Su Sierra e in seguito, puoi consultare l'infrastruttura di aggiornamento di Apple e verificare se sono presenti punti di memorizzazione nella cache locali per aggiornamenti, download di app e / o dati iCloud e controlla anche la connettività e il servizio
AssetCacheLocatorUtil
La pagina del manuale è abbastanza ben scritta e copre molti dettagli. Di seguito sono riportate alcune osservazioni precedenti a questo strumento per aiutare.
I server ascoltano porte un po 'casuali - i miei due server di cache sono attualmente in ascolto sulle porte 49558 e 51858
Suppongo che si possa eseguire la scansione di tutti i server e cercare di dedurre quelli che utilizzano il server OS X in generale e quindi analizzare in modo esauriente tutte le porte superiori sulla presunzione che una singola porta superiore aperta possa essere un server di memorizzazione nella cache.
Puoi chiedere ad un server di dirti la porta in esecuzione:
sudo serveradmin fullstatus caching | grep Port
I clienti effettuano il check-in direttamente con Apple, Apple nota l'indirizzo IP pubblico da cui provengono i requisiti. Quindi effettua due controlli:
- quali server hanno effettuato il check-in e sono in esecuzione dallo stesso indirizzo IP pubblico
- ci sono i record PRS nel DNS pubblico per l'indirizzo IP pubblico che il client ha usato e se un altro server di caching poteva fornire quell'indirizzo IP.
Quindi risponde al client per richiedere la risorsa dai server che sono locali all'IP. Se il server di caching non ha la risorsa, la richiede e la trasmette al client. Se il client non ottiene le risorse, esiste un meccanismo di riprova per ottenere la risorsa direttamente dalla rete CDN di Apple in modo da non ottenere sempre elementi dai server di cache nella mia esperienza.
Potresti anche essere in grado di creare un elenco di server con accesso remoto abilitato - in ascolto sulla porta 311 / asip-webadmin o raccogliendo periodicamente lo stato di ciascun server:
sudo serveradmin settings info | grep enableRemoteAdministration