P0f
# P0f

P0f (acronimo di Passive OS fingerprinting) è un Software Open Source (licenza GPL) che attraverso la tecnica fingerprinting passivo riesce a determinare il sistema operativo di un host remoto.

## Metodi di identificazione

Esistono sostanzialmente due tecniche per determinare da remoto il sistema operativo di un target.

### Metodo tradizionale

Metodo utilizzato in programmi quali queso e nmap, consiste nel trasmettere una sequenza di pacchetti anomali e analizzarne le risposte. Ogni sistema operativo caratterizzerà le risposte.

### Metodo passivo

Consiste nell'analizzare il traffico presente sulla rete (Sniffing) notando le caratterizzazioni presenti nei pacchetti.

* TTL (Intestazione IP)
* WIN (Finestra)
* DF (Intestazione IP)
* TOS (Intestazione IP)

Il TTL (Time to live) è il numero massimo di router che il pacchetto può attraversare prima di essere rimosso dalla rete (operazione di drop); quando il valore raggiunge 0, il pacchetto viene rimosso dalla rete, e un messaggio ICMP è restituito al mittente. L'insieme di valori TTL differisce a seconda del sistema operativo utilizzato. Per esempio i sistemi Windows avranno un valore di 32, mentre per Linux avrà un TTL di 64. Il formato della finestra è l'opzione di controllo di flusso usata nel TCP.

Quando un ospite inizia un collegamento, esso rende noto lo spazio messo a disposizione in modo da non essere sommerso da dati troppo consistenti. Il DF è l'insieme di valori di frammentazione del pacchetto. Il TOS (tipo di servizio) è regolato da quattro valori: minimizzare, elevare il rendimento, elevare l'affidabilità, minimizzare il costo. Per esempio i pacchetti del Telnet hanno il valore "minimizzare", mentre l'SNMP ha l'opzione di elevare l'affidabilità.

## Vantaggi

Il vantaggio principale della tecnica passiva risiede nella sua metodologia non invasiva. Questa caratteristica permette di non essere facilmente individuabili da software di controllo Intrusion detection system/Firewall.

