Sapevi che possiamo identificare quale sistema operativo è in esecuzione su un sistema remoto semplicemente eseguendo il ping? Sì! In questa breve guida, vedremo come determinare il sistema operativo con TTL valore e ping comando. Questo metodo dovrebbe funzionare su qualsiasi sistema operativo che abbia l'utilità della riga di comando Ping.
Esistono molti comandi, applicazioni e utilità per scoprire il sistema operativo di un sistema remoto. Tuttavia, trovare il tipo di sistema operativo con TTL è semplicissimo!
Puoi rilevare rapidamente se un sistema è in esecuzione con Linux, Windows o qualsiasi altro sistema operativo osservando il valore TTL dall'output del ping
comando. Non sono necessarie applicazioni aggiuntive per rilevare il sistema operativo di un sistema remoto.
Il valore TTL varia a seconda della versione del sistema operativo e del dispositivo.
Il valore TTL iniziale predefinito per Linux/Unix è 64 e il valore TTL per Windows è 128 .
Ecco i valori TTL iniziali predefiniti per i sistemi operativi più diffusi come Linux, FreeBSD, Mac OS, Solaris e Windows.
Alla fine puoi visualizzare l'elenco completo dei valori TTL per diversi sistemi operativi e dispositivi.
Rileva il sistema operativo dell'host remoto con il valore TTL
TTL, sta per Time to live , è un valore del timer incluso nei pacchetti inviati su reti basate su TCP/IP che indica ai destinatari per quanto tempo conservare o utilizzare il pacchetto o uno qualsiasi dei suoi dati inclusi prima della scadenza e dell'eliminazione del pacchetto o dei dati.
E il comando Ping viene utilizzato per verificare la connettività e la raggiungibilità del sistema o del dispositivo su una rete locale o una rete geografica. Il comando Ping è preinstallato nella maggior parte dei sistemi operativi.
Per visualizzare il valore TTL di un host Linux/Windows, è sufficiente eseguire il ping dell'host da se stesso o da altri sistemi sulla rete:
Esempio:
$ ping -c5 localhost
Esempio di output dal mio desktop Fedora:
PING localhost(localhost (::1)) 56 data bytes 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.063 ms 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.057 ms 64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.070 ms 64 bytes from localhost (::1): icmp_seq=4 ttl=64 time=0.067 ms 64 bytes from localhost (::1): icmp_seq=5 ttl=64 time=0.056 ms --- localhost ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4096ms rtt min/avg/max/mdev = 0.056/0.062/0.070/0.005 ms
Come puoi vedere, ho 64 come valore TTL nell'output sopra. Perché è un sistema Linux.
E gli host di Windows? Vediamo cosa otteniamo se eseguiamo il ping di un sistema Windows.
Sto per eseguire il ping del desktop di Windows 10 dal mio desktop Fedora. L'indirizzo IP di Il mio Windows 10 è 192.168.122.239 .
$ ping -c5 192.168.122.239
Risultato di esempio:
PING 192.168.122.239 (192.168.122.239) 56(84) bytes of data. 64 bytes from 192.168.122.239: icmp_seq=1 ttl=128 time=6.85 ms 64 bytes from 192.168.122.239: icmp_seq=2 ttl=128 time=0.510 ms 64 bytes from 192.168.122.239: icmp_seq=3 ttl=128 time=0.601 ms 64 bytes from 192.168.122.239: icmp_seq=4 ttl=128 time=0.541 ms 64 bytes from 192.168.122.239: icmp_seq=5 ttl=128 time=0.558 ms --- 192.168.122.239 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4088ms rtt min/avg/max/mdev = 0.510/1.812/6.851/2.519 ms
Nota il valore TTL? È 128. Il valore TTL predefinito per il sistema operativo Windows è 128.
Valori TTL iniziali
La tabella seguente mostra i valori TTL iniziali predefiniti di vari sistemi operativi e dispositivi.
Dispositivo/sistema operativo | Versione | Protocollo | TTL |
AIX | TCP | 60 | |
AIX | UDP | 30 | |
Android | 3.2.1 | TCP e ICMP | 64 |
Android | 5.1.1 | TCP e ICMP | 64 |
AIX | 3.2, 4.1 | ICMP | 255 |
BSDI | BSD/OS 3.1 e 4.0 | ICMP | 255 |
Compagnia | Tru64 v5.0 | ICMP | 64 |
Cisco | ICMP | 254 | |
Percorsi DEC | V5 | TCP e UDP | 30 |
Fonderia | ICMP | 64 | |
FreeBSD | 2.1R | TCP e UDP | 64 |
FreeBSD | 3.4, 4.0 | ICMP | 255 |
FreeBSD | 5 | ICMP | 64 |
HP-UX | 9.0x | TCP e UDP | 30 |
HP-UX | 10.01 | TCP e UDP | 64 |
HP-UX | 10.2 | ICMP | 255 |
HP-UX | 11 | ICMP | 255 |
HP-UX | 11 | TCP | 64 |
Irix | 5.3 | TCP e UDP | 60 |
Irix | 6.x | TCP e UDP | 60 |
Irix | 6.5.3, 6.5.8 | ICMP | 255 |
ginepro | ICMP | 64 | |
MPE/IX (HP) | ICMP | 200 | |
Linux | kernel 2.0.x | ICMP | 64 |
Linux | 2.2.14 kernel | ICMP | 255 |
Linux | kernel 2.4 | ICMP | 255 |
Linux | Red Hat 9 | ICMP e TCP | 64 |
MacOS/MacTCP | 2.0.x | TCP e UDP | 60 |
MacOS/MacTCP | X (10.5.6) | ICMP/TCP/UDP | 64 |
NetBSD | ICMP | 255 | |
Netgear FVG318 | ICMP e UDP | 64 | |
OpenBSD | 2.6 e 2.7 | ICMP | 255 |
OpenVMS | 07.01.2002 | ICMP | 255 |
OS/2 | TCP/IP 3.0 | 64 | |
OSF/1 | V3.2A | TCP | 60 |
OSF/1 | V3.2A | UDP | 30 |
Solaris | 2.5.1, 2.6, 2.7, 2.8 | ICMP | 255 |
Solaris | 2.8 | TCP | 64 |
Strato | TCP_OS | ICMP | 255 |
Strato | TCP_OS (14.2-) | TCP e UDP | 30 |
Strato | TCP_OS (14.3+) | TCP e UDP | 64 |
Strato | STCP | ICMP/TCP/UDP | 60 |
SunOS | 4.1.3/4.1.4 | TCP e UDP | 60 |
SunOS | 5.7 | ICMP e TCP | 255 |
Ultrix | V4.1/V4.2A | TCP | 60 |
Ultrix | V4.1/V4.2A | UDP | 30 |
Ultrix | V4.2 – 4.5 | ICMP | 255 |
VMS/Multinet | TCP e UDP | 64 | |
VMS/TCPware | TCP | 60 | |
VMS/TCPware | UDP | 64 | |
VMS/Wollongong | 1.1.1.1 | TCP | 128 |
VMS/Wollongong | 1.1.1.1 | UDP | 30 |
VMS/UCX | TCP e UDP | 128 | |
Finestre | per gruppi di lavoro | TCP e UDP | 32 |
Finestre | 95 | TCP e UDP | 32 |
Finestre | 98 | ICMP | 32 |
Finestre | 98, 98 SE | ICMP | 128 |
Finestre | 98 | TCP | 128 |
Finestre | NT 3.51 | TCP e UDP | 32 |
Finestre | NT 4.0 | TCP e UDP | 128 |
Finestre | NT 4.0 SP5- | 32 | |
Finestre | NT 4.0 SP6+ | 128 | |
Finestre | NT 4 WRKS SP 3, SP 6a | ICMP | 128 |
Finestre | NT 4 Server SP4 | ICMP | 128 |
Finestre | IO | ICMP | 128 |
Finestre | 2000 pro | ICMP/TCP/UDP | 128 |
Finestre | Famiglia 2000 | ICMP | 128 |
Finestre | Server 2003 | 128 | |
Finestre | XP | ICMP/TCP/UDP | 128 |
Finestre | Vista | ICMP/TCP/UDP | 128 |
Finestre | 7 | ICMP/TCP/UDP | 128 |
Finestre | Server 2008 | ICMP/TCP/UDP | 128 |
Finestre | 10 | ICMP/TCP/UDP | 128 |
Questo metodo potrebbe non essere sempre accurato. Tuttavia, darà un'idea del sistema operativo sottostante in un sistema remoto. Se conosci solo l'indirizzo IP di un sistema remoto, puoi utilizzare il comando Ping per ottenere il nome del sistema operativo.
- Link di riferimento
Lettura correlata:
- Visualizza l'output del comando Ping in formato grafico utilizzando Gping
- Stampa timestamp con output del comando Ping in Linux
- Come eseguire il ping di più host contemporaneamente in Linux
- Prettyping – Rendi l'output del comando Ping più carino e più facile da leggere
- Esegui il ping di più server e mostra l'output nell'interfaccia utente di testo simile a quella superiore