IP (Internet Protocol): Cos’è, Come Funziona e Perché Conta nel Pentesting

Scopri cos’è IP, come funzionano header, TTL, routing e frammentazione, e perché è fondamentale nel pentesting: IP spoofing, evasion, reconnaissance e difese.
- Pubblicato il 2026-03-23
- Tempo di lettura: 7 min
IP è il protocollo su cui viaggia tutto. Capire cos’è IP e come funziona l’instradamento dei pacchetti non è teoria accademica: è la base su cui si costruisce qualsiasi attività di pentesting, da un semplice port scan fino agli attacchi più sofisticati su routing e frammentazione. Chi non capisce IP a fondo lavora alla cieca.
Cos’è IP #
IP (Internet Protocol) è il protocollo di livello 3 del modello OSI che gestisce l’indirizzamento e l’instradamento dei pacchetti tra reti diverse. È definito nell’RFC 791 (IPv4, 1981) ed è il collante che tiene insieme Internet e qualsiasi rete TCP/IP.
IP è un protocollo connectionless e best-effort: non garantisce la consegna, non garantisce l’ordine, non garantisce l’integrità. Si limita a instradare ogni pacchetto verso la destinazione in modo indipendente. Affidabilità e ordine sono responsabilità dei livelli superiori — principalmente TCP.
Questa semplicità è la sua forza: è scalabile, flessibile, e funziona su qualsiasi mezzo trasmissivo. È anche la fonte di molte vulnerabilità: senza autenticazione degli indirizzi sorgente, IP è intrinsecamente falsificabile.
Come funziona IP #
Struttura dell’header IPv4 #
L’header IPv4 ha una dimensione minima di 20 byte:
| Campo | Dimensione | Descrizione |
|---|---|---|
| Version | 4 bit | Versione del protocollo (4 per IPv4) |
| IHL | 4 bit | Lunghezza header in word da 32 bit |
| DSCP/TOS | 8 bit | Differentiated Services / QoS |
| Total Length | 16 bit | Lunghezza totale del pacchetto (header + payload) |
| Identification | 16 bit | Identificatore per la riassemblazione dei frammenti |
| Flags | 3 bit | DF (Don’t Fragment), MF (More Fragments) |
| Fragment Offset | 13 bit | Posizione del frammento nel datagramma originale |
| TTL | 8 bit | Time To Live — decrementa ad ogni hop |
| Protocol | 8 bit | Protocollo superiore (6=TCP, 17=UDP, 1=ICMP) |
| Header Checksum | 16 bit | Checksum solo dell’header |
| Source Address | 32 bit | Indirizzo IP sorgente |
| Destination Address | 32 bit | Indirizzo IP destinazione |
| Options | variabile | Opzionale — usato raramente, interessante per evasion |
TTL: Time To Live #
Il TTL è uno dei campi più utili in fase di reconnaissance. Parte da un valore impostato dal sistema operativo mittente e viene decrementato di 1 ad ogni router attraversato. Quando arriva a 0, il pacchetto viene scartato e viene inviato un messaggio ICMP Time Exceeded al mittente.
Valori TTL di default tipici:
| Sistema operativo | TTL default |
|---|---|
| Linux | 64 |
| Windows | 128 |
| Cisco IOS | 255 |
| macOS | 64 |
Osservare il TTL di un pacchetto ricevuto permette di stimare il sistema operativo del mittente e il numero approssimativo di hop tra te e lui — informazione utile per il fingerprinting passivo.
Frammentazione IP #
Se un pacchetto supera la MTU (Maximum Transmission Unit) del link (1500 byte su Ethernet standard), IP lo frammenta in pezzi più piccoli. Il campo Identification identifica i frammenti appartenenti allo stesso datagramma, il Fragment Offset indica la posizione di ogni frammento.
Il riassemblaggio avviene a destinazione, non lungo il percorso. Questo meccanismo è stato storicamente sfruttato per eludere firewall e IDS.
Routing e tabella di routing #
IP usa le tabelle di routing per decidere dove inviare ogni pacchetto. Ogni router consulta la propria tabella, esegue la Longest Prefix Match sull’indirizzo di destinazione, e forwarda il pacchetto verso il next-hop appropriato.
ip route show # Linux
route print # Windows
netstat -rn # Cross-platformLa tabella di routing locale è la prima cosa da analizzare su un host compromesso: rivela le subnet raggiungibili e i gateway — informazione critica per il pivoting.
IP Options #
Il campo Options dell’header IPv4 è raramente usato in produzione ma interessante per l’attaccante:
- Record Route: registra ogni router attraversato
- Source Routing (Loose/Strict): specifica il percorso che il pacchetto deve seguire
- Timestamp: registra i timestamp di ogni hop
Il Source Routing era usato in attacchi storici per bypassare firewall. La maggior parte dei router moderni lo filtra o lo ignora, ma è ancora presente in alcuni ambienti.
Dove viene usato IP nelle reti #
IP è presente ovunque ci sia comunicazione di rete:
- Internet: l’intero traffico internet usa IPv4 o IPv6
- LAN aziendali: ogni comunicazione tra host usa IP sopra Ethernet
- WAN e VPN: tunnel GRE, IPSec, e altri protocolli encapsulano IP in IP
- Ambienti cloud: overlay network come VXLAN incapsulano frame Ethernet in pacchetti IP/UDP
- Reti OT/ICS: Modbus/TCP, EtherNet/IP e altri protocolli industriali usano IP come trasporto
Non esiste un engagement di rete moderno che non coinvolga IP. È il livello su cui operano tutti i tool standard: Nmap, scanner di vulnerabilità, exploit framework.
Perché IP è importante in cybersecurity #
IP non ha autenticazione degli indirizzi sorgente. Chiunque può costruire un pacchetto con qualsiasi indirizzo sorgente — è la base dell’IP spoofing. Questa limitazione strutturale permette:
- Attacchi DoS amplificati (DRDoS) dove le risposte vengono indirizzate verso la vittima
- Elusione di filtri basati su IP sorgente
- Impersonazione di host fidati
- Confusione nei log e nei sistemi di detection
Conoscere la struttura dell’header IP permette anche di costruire pacchetti personalizzati per tecniche di evasion e fingerprinting avanzato — argomenti centrali in qualsiasi engagement.
Per il livello sottostante su cui viaggiano i pacchetti IP in una LAN, vedi Ethernet IEEE 802.3 e ARP. Per il protocollo diagnostico basato su IP, vedi ICMP.
IP in un engagement di pentesting #
Reconnaissance tramite TTL e fingerprinting passivo #
Analizzare il TTL dei pacchetti ricevuti durante uno scan o una sessione rivela informazioni sull’OS del target senza inviare probe speciali. Con Wireshark o tcpdump, osserva il campo TTL nei pacchetti in arrivo:
tcpdump -i eth0 -nn ip and src host <target> -v | grep ttlTTL vicino a 64 → probabile Linux/macOS. Vicino a 128 → probabile Windows. Vicino a 255 → probabile dispositivo di rete.
Analisi delle tabelle di routing post-compromise #
Su un host compromesso, la tabella di routing rivela la topologia della rete:
ip route show
# oppure
cat /proc/net/routeSubnet direttamente connesse, route statiche verso segmenti interni, gateway verso reti remote: informazioni essenziali per pianificare il pivoting verso segmenti non direttamente raggiungibili.
IP Spoofing per DoS amplificato #
Tecniche come DNS amplification, NTP amplification e SSDP amplification usano tutte IP spoofing: si inviano richieste con indirizzo sorgente falsificato (quello della vittima) verso server che rispondono con payload molto più grandi. La vittima riceve le risposte — amplificazione del traffico senza dover avere banda proporzionale.
Evasion tramite frammentazione #
Frammentare i pacchetti in modi specifici può eludere IDS/IPS che non riassemblano i frammenti prima dell’analisi. Nmap supporta tecniche di frammentazione:
nmap -f <target> # Frammenti da 8 byte
nmap --mtu 24 <target> # MTU personalizzatoEnumerazione dei percorsi di rete #
Combinando traceroute con analisi TTL, è possibile mappare la topologia dei router tra l’attaccante e il target:
traceroute -n <target>
traceroute -T -p 80 <target> # TCP SYN invece di UDPOgni hop rivelato è un potenziale punto di interesse: dispositivi di rete intermedi, firewall, bilanciatori di carico.
Attacchi e abusi possibili su IP #
IP Spoofing #
Costruire pacchetti con indirizzo sorgente arbitrario. Usato in DoS amplificati, elusione di ACL, e impersonazione di host fidati. Richiede accesso raw socket o tool come Scapy:
from scapy.all import *
packet = IP(src="1.2.3.4", dst="target") / ICMP()
send(packet)Fragmentation Attack (Teardrop, Overlapping Fragments) #
Inviare frammenti IP sovrapposti o malformati può causare crash o comportamenti anomali nei sistemi che li riassemblano. Il Teardrop attack (storico) causava BSOD su Windows NT/95 con frammenti sovrapposti. Varianti moderne tentano di bypassare IDS con frammenti che si sovrascrivono a destinazione in modo diverso da come l’IDS li interpreta.
IP Options Abuse #
Pacchetti con IP Options rari o malformati possono confondere firewall, IDS, e stack di rete vulnerabili. Il Source Routing (oggi quasi sempre filtrato) permetteva di specificare il percorso del pacchetto, bypassando firewall che analizzavano solo l’indirizzo di destinazione.
TTL-Based Evasion #
Inviare pacchetti con TTL calibrato per arrivare all’IDS (e farsi analizzare) ma non raggiungere il target reale. L’IDS vede il traffico, il target no. Tecnica avanzata usata per eludere sistemi di detection in-path.
Esempi pratici con IP in laboratorio #
Costruire pacchetti IP custom con Scapy #
from scapy.all import *
# Pacchetto con TTL basso
p = IP(dst="192.168.1.1", ttl=1) / ICMP()
send(p)
# Visualizzare i campi dell'header
p.show()Analisi header IP con Wireshark #
Filtri utili:
ip.ttl < 10 # Pacchetti con TTL basso (vicini al timeout)
ip.flags.df == 1 # Pacchetti con Don't Fragment
ip.flags.mf == 1 # Frammenti IP
ip.options # Pacchetti con IP Options presenti
ip.src == 192.168.1.0/24 # Filtrare per subnet sorgenteVerificare le route su un host Linux #
ip route show table all # Tutte le tabelle di routing
ip route get 8.8.8.8 # Quale route userebbe per raggiungere un IP
ss -rn # Socket e routingDetection e difesa IP #
Un difensore che monitora il traffico IP può rilevare:
- Pacchetti con TTL anomalo: TTL 1 o valori molto bassi non tipici del normale traffico
- Indirizzi sorgente non routabili o spoofati: IP privati che arrivano dall’esterno (ingress filtering)
- Frammentazione insolita: frammenti molto piccoli o sovrapposti non tipici del traffico normale
- IP Options presenti: raro nel traffico legittimo moderno, da investigare
- Traceroute aggressivi: sequenze di pacchetti con TTL incrementale da un singolo sorgente
Difesa fondamentale: BCP38 / ingress filtering — i router di bordo devono scartare pacchetti con indirizzi sorgente non appartenenti alle subnet annunciate dall’AS di provenienza.
Hardening e mitigazioni IP #
Ingress e Egress Filtering (BCP38) #
Configura sui router di bordo l’accettazione solo di pacchetti con indirizzi sorgente validi per il segmento di provenienza. Mitiga IP spoofing esternamente visibile.
Disabilitare IP Source Routing #
Su router Cisco:
no ip source-routeSu Linux:
sysctl -w net.ipv4.conf.all.accept_source_route=0Abilitare Reverse Path Forwarding (uRPF) #
uRPF scarta pacchetti il cui indirizzo sorgente non è raggiungibile attraverso l’interfaccia da cui arrivano. Mitiga efficacemente lo spoofing interno:
interface GigabitEthernet0/0
ip verify unicast source reachable-via rxFrammentazione: firewall stateful #
I firewall stateful moderni riassemblano i frammenti prima di applicare le policy. Assicurati che il firewall sia configurato per gestire la frammentazione, non per ignorarla.
Errori comuni su IP #
“IP garantisce la consegna dei pacchetti” No. IP è best-effort e connectionless. La garanzia di consegna e ordine è responsabilità di TCP, non di IP.
“Non si può falsificare l’indirizzo IP sorgente” Falso. IP spoofing è banale con raw socket o Scapy. L’unica protezione è il filtraggio a livello di rete (ingress filtering, uRPF).
“Il TTL non dà informazioni utili” Sbagliato. Il TTL rivela OS, numero approssimativo di hop, e può essere usato per evasion avanzata.
“IPv6 ha gli stessi problemi di sicurezza di IPv4” Parzialmente. IPv6 risolve alcune problematiche (ARP spoofing → NDP spoofing invece), ma ne introduce di nuove. Non è intrinsecamente più sicuro — è diverso.
FAQ su IP #
Cos’è IP e a cosa serve? IP (Internet Protocol) è il protocollo di livello 3 responsabile dell’indirizzamento e dell’instradamento dei pacchetti attraverso reti diverse. È il fondamento di Internet e di qualsiasi rete TCP/IP moderna.
Cos’è il TTL in un pacchetto IP? Il TTL (Time To Live) è un contatore decrementato di 1 ad ogni router attraversato. Quando arriva a 0, il pacchetto viene scartato e viene inviato un ICMP Time Exceeded al mittente. Serve per evitare che i pacchetti girino in loop indefinitamente nella rete.
Cos’è l’IP spoofing? L’IP spoofing consiste nel costruire pacchetti con un indirizzo sorgente falsificato. IP non autentica gli indirizzi sorgente, quindi chiunque con accesso raw socket può farlo. È usato in attacchi DoS amplificati, elusione di filtri, e impersonazione di host fidati.
Qual è la differenza tra IPv4 e IPv6? IPv4 usa indirizzi a 32 bit (circa 4 miliardi di indirizzi), IPv6 usa indirizzi a 128 bit (praticamente illimitati). IPv6 ha un header semplificato, non supporta la frammentazione in-path (solo sorgente), e sostituisce ARP con NDP. Per i dettagli completi, vedi l’articolo dedicato IPv4 vs IPv6.
IP è sicuro? IP è stato progettato per la robustezza e la scalabilità, non per la sicurezza. Non autentica gli indirizzi sorgente, non cifra il payload, non garantisce l’integrità. La sicurezza viene aggiunta a livelli superiori (TLS, IPSec) o tramite meccanismi di rete (filtri, uRPF).
Conclusione su IP #
IP è il protocollo che rende possibile qualsiasi comunicazione di rete. Capirlo a fondo — struttura dell’header, TTL, frammentazione, routing — non è un prerequisito opzionale per chi fa pentesting: è la base su cui si costruisce tutto il resto.
IP spoofing, evasion tramite frammentazione, analisi delle tabelle di routing post-compromise, fingerprinting passivo tramite TTL: sono tecniche reali che ogni pentester usa. Tutte richiedono una comprensione solida di come IP gestisce i pacchetti.
Approfondisci i protocolli correlati:
- ICMP: diagnostica e usi offensivi
- TCP: handshake, scanning e attacchi
- UDP: caratteristiche e vettori di attacco
- IPv4 vs IPv6: differenze e implicazioni di sicurezza
- Nmap: scanning e fingerprinting
- ARP: risoluzione indirizzi a livello 2
- IPSec: cifratura e autenticazione IP
Riferimento ufficiale: RFC 791 — Internet Protocol
Vuoi costruire competenze solide su network pentesting partendo dalle fondamenta? Formazione 1:1 e assessment professionali su hackita.it/servizi.
Se usi HackITA come riferimento nel tuo percorso, puoi supportare il progetto: hackita.it/supporto







