In modo affidabile, non c'è. I motivi:
- Ci sono molte altre circostanze che possono aumentare il tempo di risposta. Ad esempio, se esiste un sistema virtualizzato o è sovraccarico. O la sua rete è sovraccaricata.
- Il protocollo TCP utilizza uno schema di finestre , il che risulta che non riceverai gli ACK sui pacchetti effettivamente ricevuti , ma solitamente per 8 pacchetti in precedenza, e dipende dalla velocità del sistema remoto per elaborare questi pacchetti.
- La topologia delle reti è simile a un grafico al livello più alto (attorno al routing a livello di paese), mentre è al di sotto di quella ad albero. I tempi di ritardo sono forse affidabili sul primo, ma iniziano a essere inaffidabili al di sotto di questo.
- Anche se funzionasse, puoi ottenere solo una "distanza" che è molto lontana dalla localizzazione.
Ma:
- All'invio del primo pacchetto TCP, la finestra TCP è quasi vuota, quindi il ritardo del primo pacchetto ACK è praticamente affidabile. Può essere utilizzato essenzialmente come ping basato su TCP .
- Se si ha accesso a registri di server di grandi dimensioni, è possibile costruire un database dal tempo di ritardo tipico di ogni rete IP registrata sulla rete. Sarebbe utile se memorizzassi non solo il valore medio del ritardo del pacchetto, ma anche la loro deviazione standard .
- Se hai accesso a più server, su luoghi e reti molto remote nel mondo (ad esempio, uno in Europa centrale, altri in Nuova Zelanda), puoi creare un database temporizzato per tutti.
- Questi database dovrebbero dipendere non solo dalle reti IP remote, ma anche dall'ora del giorno e dal giorno della settimana (questi carichi di rete dipendono principalmente da questi).
Dopodiché, basato su un'estensione a virgola mobile del teorema di Bayes (forse esteso con un po ' di logica fuzzy ) sarai in grado di ottenere un "fattore di credibilità" dei ritardi IP. Ma nella maggior parte dei casi i risultati saranno fuorvianti, perché la causa dei ritardi non realistici è nella maggior parte dei casi sull'ultimo miglio , , e solo in una parte relativamente piccola di evidente falsificazione.
Tuttavia, se colleghi questi IP "sospetti di comportamento" ad altri registri di sicurezza, può forse servire come utile fonte di "dati soft". Ad esempio, potrebbe essere utilizzabile per aumentare la sensibilità dei filtri antispam o dei firewall allarmanti.
Richiede matematica intorno al terzo-quarto semestre della maggior parte delle università, e almeno un professionista e amp; programmatore senior.
Le cose da sviluppare:
- Costruire un tale database e la sua integrazione hw / sw
- Creazione degli script di monitoraggio della rete
- E costruire lo script di localizzazione IP basato sulle statistiche di ritardo di rete di un singolo IP.
Direi che sarebbe tra una settimana e mezzo di sviluppo, in base ai dettagli.
Se hai abbastanza macchine, puoi costruire un database di ritardo anche tra quasi tutte le reti sulla Terra, che potrebbero essere utilizzate anche per localizzare la loro posizione reale. Ma sarebbe molto più difficile.