# Sistema operativo

## Identificación de sistema operativo en función de TTL (Time To Live)

TTL (Time To Live) es un valor de temporizador incluido en los paquetes enviados a través de redes, que le dice al destinatario cuánto tiempo debe retener o usar el paquete antes de descartar y expirar los datos (paquete). Los valores de TTL son distintos para cada sistema operativo. Por lo tanto, es posible "suponer" el tipo de sistema operativo en función del valor TTL.

```shell
ping -c 1 <target>
```

* -c = detenerse después de la cantidad de respuestas específicas.
* \<target> = objetivo.

| Sistema operativo  | TTL (Time To Live) |
| ------------------ | ------------------ |
| \*nix (Linux/Unix) | 64                 |
| Windows            | 128                |
| Solaris/AIX        | 254                |

## Nmap

```shell
nmap -O -n <target> -oN nmap-os.txt 
nmap -O -iL -n <host-list.txt> -oN nmap-os.txt
nmap --script smb-os-discovery -p 445 -Pn <target>
```

* -O = identificación de sistema operativo.
  * \<target> = objetivo.
* -iL = lectura de host a descubrir desde archivo.
  * \<host-list.txt> = archivo con listado de host.
