<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Network-Defense on u-random</title><link>https://u-random.dev/tags/network-defense/</link><description>Recent content in Network-Defense on u-random</description><generator>Hugo -- gohugo.io</generator><language>it-it</language><lastBuildDate>Tue, 09 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://u-random.dev/tags/network-defense/index.xml" rel="self" type="application/rss+xml"/><item><title>Cap 07 - Protecting Against Advanced Attacks</title><link>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-07-advanced-attacks/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-07-advanced-attacks/</guid><description>Attacchi di rete avanzati (SYN flood, DNS attacks, on-path, replay) e secure coding: input validation, injection, memory vulnerabilities, XSS, code signing, scripting sicuro. Cap 7 Gibson SY0-701.</description></item><item><title>Cisco Packet Tracer: La Rete che Protegge Se Stessa</title><link>https://u-random.dev/blog/cisco-packet-tracer-la-rete-che-protegge-se-stessa/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/cisco-packet-tracer-la-rete-che-protegge-se-stessa/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Una DMZ e' una zona di mezzo: esposta verso internet, isolata dalla LAN&lt;/li&gt;
&lt;li&gt;Due firewall significa che anche se Sofia/nginx viene compromessa, Giulia/MySQL e' ancora protetta da FW2&lt;/li&gt;
&lt;li&gt;Su ASA il traffico da security-level basso verso alto e' bloccato per default - non serve scrivere nessuna regola di blocco&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nameif&lt;/code&gt; - assegna nome logico all'interfaccia ASA (outside, dmz, inside)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;security-level&lt;/code&gt; - livello di fiducia: 0=esterno, 50=DMZ, 100=LAN&lt;/li&gt;
&lt;li&gt;&lt;code&gt;route outside 0.0.0.0 0.0.0.0 x.x.x.x&lt;/code&gt; - default route su ASA&lt;/li&gt;
&lt;li&gt;&lt;code&gt;show nameif&lt;/code&gt; - interfacce ASA con security level&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;hr&gt;

&lt;h2 class="relative group"&gt;Perche' questo lab
 &lt;div id="perche-questo-lab" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#perche-questo-lab" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;corsobitcoin.com e' una piattaforma di corsi online. Ha iscritti, sessioni, video, dati di pagamento.&lt;/p&gt;</description></item><item><title>Cisco Packet Tracer: Cinque Router, Una Catena, Nessun GPS</title><link>https://u-random.dev/blog/cisco-packet-tracer-cinque-router/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/cisco-packet-tracer-cinque-router/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Un router conosce solo le reti a cui e' direttamente collegato. Tutto il resto va detto esplicitamente con rotte statiche&lt;/li&gt;
&lt;li&gt;Ogni router ha piu' IP - uno per ogni interfaccia. &amp;quot;Marco e' 10.0.0.2&amp;quot; e' incompleto: Marco e' anche 10.10.10.1&lt;/li&gt;
&lt;li&gt;Le rotte statiche funzionano come indicazioni stradali: &amp;quot;se vuoi andare la', chiedi a lui&amp;quot;&lt;/li&gt;
&lt;li&gt;Se manca una rotta il pacchetto si ferma - il TTL serve esattamente per questo&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ip route [rete] [maschera] [next-hop]&lt;/code&gt; - aggiunta rotta statica&lt;/li&gt;
&lt;li&gt;&lt;code&gt;show ip route&lt;/code&gt; - tabella di routing corrente&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ping [ip]&lt;/code&gt; - test connettivita' end-to-end&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;hr&gt;
&lt;p&gt;Prima di toccare Linux voglio vedere il routing con gli occhi. In Linux i namespace sono invisibili - sono processi, non oggetti fisici. In Cisco Packet Tracer posso vedere i router come scatole, i cavi come linee, e guardare i pacchetti muoversi.&lt;/p&gt;</description></item><item><title>iptables - Linux Packet Filtering</title><link>https://u-random.dev/comandi/iptables/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/iptables/</guid><description>Firewall nativo del kernel Linux. Gestisce il traffico di rete tramite chain (INPUT, OUTPUT, FORWARD) e tabelle (filter, nat, mangle). UFW e nftables sono frontend/successori.</description></item><item><title>ESP cifra, AH no: IPsec visto dal vivo</title><link>https://u-random.dev/blog/ipsec-strongswan-esp-ah/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/ipsec-strongswan-esp-ah/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IPsec Suite:&lt;/strong&gt; Una suite di protocolli di rete sicuri (IKE + ESP + AH) implementata a livello IP per garantire autenticazione, integrità e riservatezza.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IKE (Internet Key Exchange):&lt;/strong&gt; Negozia gli algoritmi di sicurezza e stabilisce le Security Association (SA) scambiando chiavi tramite Diffie-Hellman (UDP 500/4500).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ESP (Encapsulating Security Payload):&lt;/strong&gt; Cifra il payload dei pacchetti (ad es. con AES-256) garantendo riservatezza ed autenticazione. Supporta il NAT tramite incapsulamento NAT-T.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AH (Authentication Header):&lt;/strong&gt; Firma crittograficamente i pacchetti per garantirne l'integrità, ma &lt;strong&gt;non cifra il payload&lt;/strong&gt;, lasciando i dati in chiaro ed esposti allo sniffing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tunnel vs Transport:&lt;/strong&gt; Tunnel mode cifra l'intero pacchetto originale aggiungendo un nuovo header IP (ideale per VPN Site-to-Site); Transport mode cifra solo il payload (ideale per host-to-host).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;apt install strongswan -y&lt;/li&gt;
&lt;li&gt;ipsec version&lt;/li&gt;
&lt;li&gt;ipsec restart&lt;/li&gt;
&lt;li&gt;ipsec up mustache&lt;/li&gt;
&lt;li&gt;ipsec statusall&lt;/li&gt;
&lt;li&gt;tcpdump -i enp0s1 udp port 500&lt;/li&gt;
&lt;li&gt;tcpdump -i enp0s1 proto 50&lt;/li&gt;
&lt;li&gt;tcpdump -i enp0s1 proto 51 -v&lt;/li&gt;
&lt;li&gt;ping 192.168.64.3&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Configurare IPsec host-to-host con StrongSwan e vedere con tcpdump la differenza tra ESP e AH. ESP cifra il payload - AH no. Questa distinzione è una domanda classica Security+ e fondamentale per la sicurezza di rete.&lt;/p&gt;</description></item><item><title>Il Tunnel che Sceglie: Split vs Full VPN con WireGuard</title><link>https://u-random.dev/blog/il-tunnel-che-sceglie/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-tunnel-che-sceglie/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WireGuard:&lt;/strong&gt; VPN moderna basata su Curve25519 e ChaCha20, integrata direttamente nel kernel Linux come interfaccia di rete virtuale (&lt;code&gt;wg0&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPN Concentrator:&lt;/strong&gt; Il dispositivo (in questo lab Ubuntu) che termina il tunnel cifrato, decifra il traffico e lo instrada verso la rete interna.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Split Tunnel (&lt;code&gt;AllowedIPs = 10.0.0.0/24&lt;/code&gt;):&lt;/strong&gt; Solo il traffico destinato alla subnet della VPN passa nel tunnel; il traffico internet esce in chiaro tramite il gateway locale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full Tunnel (&lt;code&gt;AllowedIPs = 0.0.0.0/0&lt;/code&gt;):&lt;/strong&gt; Tutto il traffico, incluso quello internet, viene convogliato nel tunnel cifrato e richiede IP forwarding e MASQUERADE sul concentratore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visibilità di rete:&lt;/strong&gt; &lt;code&gt;tcpdump&lt;/code&gt;/&lt;code&gt;tshark&lt;/code&gt; mostrano solo pacchetti UDP cifrati sull'interfaccia fisica (&lt;code&gt;enp0s1&lt;/code&gt;), mentre svelano il traffico ICMP/IP decifrato su quella virtuale (&lt;code&gt;wg0&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;apt install wireguard -y&lt;/li&gt;
&lt;li&gt;wg genkey | tee privatekey | wg pubkey &amp;gt; publickey&lt;/li&gt;
&lt;li&gt;wg-quick up wg0&lt;/li&gt;
&lt;li&gt;wg-quick down wg0&lt;/li&gt;
&lt;li&gt;ip route show&lt;/li&gt;
&lt;li&gt;traceroute 8.8.8.8&lt;/li&gt;
&lt;li&gt;tcpdump -i wg0&lt;/li&gt;
&lt;li&gt;tcpdump -i enp0s1 udp port 51820&lt;/li&gt;
&lt;li&gt;tshark -r capture.pcap&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Configurare un tunnel WireGuard tra due VM e vedere con i propri occhi la differenza tra split tunnel e full tunnel. Non teoria - routing table e traceroute che lo dimostrano empiricamente.&lt;/p&gt;</description></item><item><title>Il Kernel Sospende il Giudizio</title><link>https://u-random.dev/blog/suricata-ips-nfqueue/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/suricata-ips-nfqueue/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IDS (af-packet):&lt;/strong&gt; copia del traffico → Suricata vede tutto, non può bloccare niente → &lt;code&gt;[**]&lt;/code&gt; in fast.log&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IPS (nfqueue):&lt;/strong&gt; traffico originale trattenuto → il kernel aspetta il verdetto → &lt;code&gt;[Drop]&lt;/code&gt; in fast.log&lt;/li&gt;
&lt;li&gt;&lt;code&gt;iptables -I INPUT -j NFQUEUE --queue-num 0&lt;/code&gt; è la singola regola che trasforma il sistema&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fail-open: no&lt;/code&gt; = fail-closed: se Suricata muore, tutto il traffico viene droppato&lt;/li&gt;
&lt;li&gt;Il Docker bridge (&lt;code&gt;br-XXXX&lt;/code&gt;) bypassa NFQUEUE - la SYN-ACK di ritorno viene bloccata e Wazuh si disconnette&lt;/li&gt;
&lt;li&gt;La persistenza al reboot richiede un systemd service dedicato (non &lt;code&gt;iptables-persistent&lt;/code&gt;, che rimuove UFW)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;suricata -T -c /etc/suricata/suricata.yaml -v&lt;/li&gt;
&lt;li&gt;suricata-update&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/concetti/iptables/" &gt;iptables&lt;/a&gt; -I INPUT 1 -j NFQUEUE --queue-num 0&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/concetti/iptables/" &gt;iptables&lt;/a&gt; -L INPUT -n -v --line-numbers&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/nmap/" &gt;nmap&lt;/a&gt; --min-rate 1000 -p 1-1000 192.168.64.3&lt;/li&gt;
&lt;li&gt;hping3 -S --flood 192.168.64.3&lt;/li&gt;
&lt;li&gt;cat /proc/net/tcp&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;hr&gt;
&lt;p&gt;Voglio vedere cosa succede quando Suricata non si limita a guardare il traffico, ma lo blocca davvero.&lt;/p&gt;</description></item><item><title>816 tentativi zero successi</title><link>https://u-random.dev/blog/816-tentativi-zero-successi/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/816-tentativi-zero-successi/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HIDS&lt;/strong&gt; (Wazuh agent) monitora il singolo host dall'interno - log, file, processi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SIEM&lt;/strong&gt; (Wazuh manager) raccoglie tutto, correla, genera alert.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HIPS&lt;/strong&gt; (fail2ban) agisce automaticamente dopo la detection - blocca l'IP attaccante.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IDS&lt;/strong&gt; e &lt;strong&gt;IPS&lt;/strong&gt; non sono prodotti diversi: è la stessa categoria, con o senza capacità di blocco.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.64.3 -t 4&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tail/" &gt;tail&lt;/a&gt; -f /var/log/auth.log&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tail/" &gt;tail&lt;/a&gt; -f /var/log/fail2ban.log&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Il lab è semplice: Ubuntu con Wazuh, Kali con Hydra, una wordlist da 14 milioni di password. Obiettivo: vedere cosa succede dall'altra parte quando un attaccante tenta il brute force SSH.&lt;/p&gt;</description></item><item><title>IDS e IPS - detection e prevention, host e rete</title><link>https://u-random.dev/concetti/ids-ips/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ids-ips/</guid><description>IDS rileva, IPS blocca. HIDS/HIPS agiscono sull'host, NIDS/NIPS sulla rete. La differenza inline/non-inline determina quando il blocco avviene.</description></item><item><title>Cap 4 - Securing Your Network</title><link>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-04-securing-your-network/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-04-securing-your-network/</guid><description>IDS/IPS, VPN (IPsec/SSL), tunneling, wireless security (WPA2/WPA3), network segmentation avanzata. Cap 4 Gibson SY0-701.</description></item><item><title>Il Campo che Parlava Troppo</title><link>https://u-random.dev/blog/il-campo-che-parlava-troppo/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-campo-che-parlava-troppo/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;SQL Injection avviene quando l'input utente viene concatenato direttamente nella query - il DB esegue codice che non dovrebbe&lt;/li&gt;
&lt;li&gt;Un apostrofo nel campo username è spesso sufficiente per rilevare la vulnerabilità&lt;/li&gt;
&lt;li&gt;La difesa corretta è la parameterized query - non l'input validation da sola&lt;/li&gt;
&lt;li&gt;Il WAF può rallentare l'attacco ma non sostituisce il fix nel codice&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;curl -s -X POST url -d &amp;quot;username=test&amp;amp;password=test&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tshark/" &gt;tshark&lt;/a&gt; -r capture.pcap -Y &amp;quot;http.request.method == POST&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Mi hanno dato tre ore e un URL. Un'applicazione web interna - gestionale ordini, usato dal reparto commerciale. &amp;quot;Testala. Dimmi cosa non va.&amp;quot;&lt;/p&gt;</description></item><item><title>Il CEO Non Ha Scritto Quella Email</title><link>https://u-random.dev/blog/il-ceo-non-ha-scritto-quella-email/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-ceo-non-ha-scritto-quella-email/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;BEC (Business Email Compromise) non richiede malware - basta falsificare il campo &lt;code&gt;From:&lt;/code&gt; in SMTP&lt;/li&gt;
&lt;li&gt;SPF, DKIM e DMARC sono i tre record DNS che rendono verificabile l'identità del mittente&lt;/li&gt;
&lt;li&gt;Un dominio senza questi tre record è impersonabile in cinque minuti da chiunque&lt;/li&gt;
&lt;li&gt;Leggere gli header &lt;code&gt;Received:&lt;/code&gt; di un'email dal basso verso l'alto rivela il percorso reale del messaggio&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; TXT dominio.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; TXT _dmarc.dominio.com&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Arianna gestisce i pagamenti. Quella mattina ha ricevuto un'email dal CEO: cambio fornitore urgente, nuovo IBAN, bonifico entro fine giornata. 47.000 euro. Il tono era quello di sempre - formale, diretto, niente spiegazioni superflue.&lt;/p&gt;</description></item><item><title>Il Fantasma nella Rete</title><link>https://u-random.dev/blog/il-fantasma-nella-rete/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-fantasma-nella-rete/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Un honeypot è un sistema esca - qualsiasi connessione ricevuta è per definizione sospetta&lt;/li&gt;
&lt;li&gt;La ricognizione interna (lateral movement iniziale) lascia tracce nei log prima che l'attaccante agisca&lt;/li&gt;
&lt;li&gt;Analizzare chi ha contattato il honeypot rivela quali host sono compromessi o controllati da un attaccante&lt;/li&gt;
&lt;li&gt;IDS/IPS signature-based non rileva zero-day - il comportamento anomalo verso risorse inesistenti lo fa&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tshark/" &gt;tshark&lt;/a&gt; -r capture.pcap -Y &amp;quot;ip.dst == 192.168.10.99&amp;quot; -T fields -e ip.src -e tcp.dstport&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; -x 192.168.10.99&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Sono le 14:33. Il SIEM ha flaggato una connessione TCP verso &lt;code&gt;192.168.10.99&lt;/code&gt;. Il problema: a quell'IP non c'è nessun server. Non c'è nessun servizio. Non c'è nessun device registrato nell'inventario.&lt;/p&gt;</description></item><item><title>Il Postino Lavora di Notte</title><link>https://u-random.dev/blog/il-postino-lavora-di-notte/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-postino-lavora-di-notte/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;SMTP consegna le email, IMAP/POP3 le recuperano - protocolli separati con porte e ruoli distinti&lt;/li&gt;
&lt;li&gt;Una workstation che apre connessioni dirette sulla porta 25 è anomala: quel traffico spetta al mail server aziendale&lt;/li&gt;
&lt;li&gt;base64 negli allegati non è cifratura: su SMTP senza TLS, qualsiasi allegato è estraibile dal pcap in chiaro&lt;/li&gt;
&lt;li&gt;SPF, DKIM e DMARC sono i tre record DNS che distinguono un dominio difeso da uno esposto allo spoofing&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tshark/" &gt;tshark&lt;/a&gt; -r capture.pcap -Y &amp;quot;smtp&amp;quot; -T fields -e ip.src -e ip.dst -e smtp.req.command -e smtp.req.parameter&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; MX dominio.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; TXT _dmarc.dominio.com&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="Il Postino Lavora di Notte"
 width="2752"
 height="1536"
 src="https://u-random.dev/assets/email-routing-smtp_hu_8e9b834350c07076.webp"
 srcset="https://u-random.dev/assets/email-routing-smtp_hu_8e9b834350c07076.webp 800w, https://u-random.dev/assets/email-routing-smtp_hu_dd83c9b5ac0ab8a9.webp 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://u-random.dev/assets/email-routing-smtp.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Cap 3 - Network Technologies and Security Architecture</title><link>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-03-security-architecture/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-03-security-architecture/</guid><description>OSI model, protocolli base (TCP/UDP/IP/ICMP/ARP/DNS/DHCP/NTP), protocolli sicuri vs insicuri, SSL/TLS, firewall (stateless/stateful/WAF/NGFW), screened subnet, Zero Trust, proxy, NAT, VLAN, NAC, UTM, SASE, Group Policy, GDLP, SPF/DKIM/DMARC. Cap 3 Gibson SY0-701.</description></item><item><title>Well-Known Ports - Security+</title><link>https://u-random.dev/concetti/well-known-ports/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/well-known-ports/</guid><description>Porte da sapere a memoria per Security+ SY0-701. Organizzate per categoria: file transfer, remote access, email, web, directory, network services, database, VPN/IPSec.</description></item><item><title>Well-Known Ports - Security+</title><link>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-03-well-known-ports/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/dump/certificazioni/security-plus/libro/cap-03-well-known-ports/</guid><description>Porte da sapere a memoria per Security+ SY0-701. Organizzate per categoria: file transfer, remote access, email, web, directory, network services, database, VPN/IPSec.</description></item><item><title>Frame, Pacchetto, Segmento - OSI e Stream</title><link>https://u-random.dev/concetti/frame-packet-segment/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/frame-packet-segment/</guid><description>Differenza tra frame (L2), pacchetto IP (L3) e segmento TCP (L4). Matrioska OSI, NIC, stream indipendenti per livello. Base per leggere correttamente tshark e Wireshark.</description></item><item><title>iptables - Netfilter firewall Linux</title><link>https://u-random.dev/concetti/iptables/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/iptables/</guid><description>Motore firewall del kernel Linux basato su Netfilter. Organizza le regole in chain (INPUT, OUTPUT, FORWARD). UFW è un frontend che traduce comandi semplici in regole iptables.</description></item><item><title>ufw - Uncomplicated Firewall</title><link>https://u-random.dev/comandi/ufw/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/ufw/</guid><description>Frontend semplificato per iptables su Ubuntu/Debian. Gestisce regole firewall in entrata e uscita con comandi leggibili. Default policy: nega tutto il traffico in entrata quando abilitato.</description></item><item><title>whois</title><link>https://u-random.dev/comandi/whois/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/whois/</guid><description>Interroga i database WHOIS per ottenere informazioni su un IP o dominio: ASN, organizzazione, paese, range di indirizzi, abuse contact.</description></item><item><title>DNS e HTTP in una LAN con switch</title><link>https://u-random.dev/concetti/dns-http-lan-packet-tracer/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/dns-http-lan-packet-tracer/</guid><description>Come funziona la risoluzione DNS e la richiesta HTTP in una LAN flat con switch, senza router né gateway.</description></item><item><title>Routing statico e topologia LAN-internet</title><link>https://u-random.dev/concetti/routing-statico-lan-internet/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/routing-statico-lan-internet/</guid><description>Come configurare il routing statico su router Cisco per connettere una LAN privata a una rete pubblica simulata, con DNS e HTTP server esterni.</description></item><item><title>DNS Tunneling</title><link>https://u-random.dev/concetti/dns-tunneling/</link><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/dns-tunneling/</guid><description>Tecnica C2 che usa il protocollo DNS per trasportare comandi e dati esfiltrati, bypassando i firewall perche' UDP 53 e' quasi sempre permesso.</description></item><item><title>RJ-45 e Cavi Ethernet - Pinout, Dritti e Incrociati</title><link>https://u-random.dev/concetti/rj45-cavi-ethernet/</link><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/rj45-cavi-ethernet/</guid><description>Il connettore RJ-45 ha 8 pin con ruoli TX/RX distinti. I cavi dritti collegano dispositivi diversi, i cavi incrociati collegano dispositivi uguali. Il segnale elettrico codifica i bit tramite variazioni di tensione.</description></item><item><title>IP Addressing &amp; Subnetting</title><link>https://u-random.dev/concetti/ip-addressing-subnetting/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ip-addressing-subnetting/</guid><description>L'indirizzamento IP definisce l'identità di una macchina in rete (IP) e il confine del suo quartiere (Subnet Mask). RFC1918, broadcast, segmentazione Blue Team.</description></item><item><title>IP Subnetting - Matematica e Routing</title><link>https://u-random.dev/concetti/ip-subnetting-theory/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ip-subnetting-theory/</guid><description>Matematica del subnetting: formula host 2^n-2, calcolo binario, conversione CIDR/mask, /32, routing table e flusso pacchetto attraverso router.</description></item><item><title>Command Injection</title><link>https://u-random.dev/concetti/command-injection/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/command-injection/</guid><description>Vulnerabilità A03 OWASP: input utente viene passato a una shell di sistema senza sanitizzazione. Permette esecuzione arbitraria di comandi sul server.</description></item><item><title>netcat</title><link>https://u-random.dev/comandi/netcat/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/netcat/</guid><description>Utility versatile per leggere e scrivere dati attraverso connessioni di rete TCP e UDP. Usato per banner grabbing, port scan, trasferimento file, e come listener per reverse shell.</description></item><item><title>Reverse Shell</title><link>https://u-random.dev/concetti/reverse-shell/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/reverse-shell/</guid><description>Tecnica di accesso remoto dove la vittima si connette verso l'attaccante. Bypassa i firewall in ingresso. Rilevabile con auditd, Suricata o regole Wazuh custom.</description></item><item><title>BGP e Autonomous Systems (AS) - Il GPS di Internet</title><link>https://u-random.dev/concetti/bgp-asn-fundamentals/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/bgp-asn-fundamentals/</guid><description>Guida completa al routing globale: gerarchia delle reti, analogia delle Città-Stato, differenze tra IGP/eBGP/iBGP e analisi del BGP Hijacking.</description></item><item><title>Le Autostrade di Internet</title><link>https://u-random.dev/blog/le-autostrade-di-internet/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/le-autostrade-di-internet/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Internet non è una singola rete: è un insieme di reti indipendenti (Autonomous Systems) collegate da BGP&lt;/li&gt;
&lt;li&gt;BGP decide il percorso tra AS diversi - IGP gestisce il routing interno, iBGP sincronizza i border router&lt;/li&gt;
&lt;li&gt;Un attaccante può annunciare rotte false (BGP Hijacking) e dirottare traffico globale&lt;/li&gt;
&lt;li&gt;Ogni IP appartiene a un ASN: saperlo leggere è un'abilità base di triage SOC&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;whois [IP]&lt;/li&gt;
&lt;li&gt;whois [IP] | grep -i &amp;quot;origin|asn|orgname&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="bgp autonomous systems"
 width="2752"
 height="1536"
 src="https://u-random.dev/assets/bgp-autonomous-systems_hu_d6dc4af6556545b2.webp"
 srcset="https://u-random.dev/assets/bgp-autonomous-systems_hu_d6dc4af6556545b2.webp 800w, https://u-random.dev/assets/bgp-autonomous-systems_hu_82399596e7b72d5e.webp 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://u-random.dev/assets/bgp-autonomous-systems.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>TCP Reliability e Modello OSI - La Guida Semplificata</title><link>https://u-random.dev/concetti/tcp-reliability-osi/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/tcp-reliability-osi/</guid><description>Spiegazione del meccanismo di conferma (ACK) del TCP e mappatura semplificata degli strati OSI (Layer 2, 3, 4) per l'analisi dei log.</description></item><item><title>HTTP in Wireshark - TCP Segmentation e Packet Analysis</title><link>https://u-random.dev/concetti/http-wireshark/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/http-wireshark/</guid><description>Come appare una sessione HTTP in Wireshark: TCP segmentation, MSS, Nagle's algorithm, gzip. Prospettiva packet analysis.</description></item><item><title>SMTP - Simple Mail Transfer Protocol</title><link>https://u-random.dev/concetti/smtp/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/smtp/</guid><description>SMTP trasporta le email tra server. Architettura MUA/MTA, porte, flusso di consegna, email spoofing e meccanismi difensivi SPF/DKIM/DMARC.</description></item><item><title>DHCP - Dynamic Host Configuration Protocol</title><link>https://u-random.dev/concetti/dhcp/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/dhcp/</guid><description>Protocollo che assegna automaticamente configurazione di rete ai dispositivi che si connettono - IP address, subnet mask, gateway, DNS. Senza DHCP ogni dispositivo dovrebbe essere configurato manualmente.</description></item><item><title>OWASP Top 10</title><link>https://u-random.dev/concetti/owasp-top10/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/owasp-top10/</guid><description>Framework di classificazione delle 10 vulnerabilità web più critiche. Usato dai SOC analyst per categorizzare gli attacchi nei log e nei report.</description></item><item><title>Unicast, Broadcast, Multicast</title><link>https://u-random.dev/concetti/unicast-broadcast-multicast/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/unicast-broadcast-multicast/</guid><description>I tre modi in cui un pacchetto può essere indirizzato in rete: a uno solo (unicast), a tutti (broadcast), a un gruppo (multicast).</description></item><item><title>IPv6 - Internet Protocol Version 6</title><link>https://u-random.dev/concetti/ipv6/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ipv6/</guid><description>Successore di IPv4 a 128 bit. Elimina la scarsità di indirizzi, rimuove il broadcast, introduce multicast nativo, header fisso a 40 byte. Adozione globale ~45-49% (2026). Richiede firewall esplicito - niente NAT implicito.</description></item><item><title>MTU - Maximum Transmission Unit</title><link>https://u-random.dev/concetti/mtu/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/mtu/</guid><description>Maximum Transmission Unit - la dimensione massima in byte del payload di un frame su un link fisico. Opera a Layer 2. Determina se un pacchetto IP deve essere frammentato o se il mittente deve ridurre la dimensione dei dati.</description></item><item><title>NDP - Neighbor Discovery Protocol</title><link>https://u-random.dev/concetti/ndp-neighbor-discovery/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ndp-neighbor-discovery/</guid><description>Protocollo IPv6 che sostituisce ARP. Usa ICMPv6 e multicast invece di broadcast per trovare il MAC address di un host nella stessa LAN. Neighbor Solicitation (type 135) chiede, Neighbor Advertisement (type 136) risponde.</description></item><item><title>SQL Injection (SQLi)</title><link>https://u-random.dev/concetti/sql-injection/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/sql-injection/</guid><description>Vulnerabilità web che permette di manipolare le query database tramite input non sanificati, bypassando i controlli di sicurezza.</description></item><item><title>arpspoof - ARP cache poisoning tool</title><link>https://u-random.dev/comandi/arpspoof/</link><pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/arpspoof/</guid><description>Tool per ARP poisoning — manda pacchetti ARP falsi in loop per avvelenare la cache ARP di un target. Usato per simulare attacchi MITM in laboratorio e capire come rilevarli.</description></item><item><title>Il Gateway Sono Io</title><link>https://u-random.dev/blog/blog-arp-poisoning/</link><pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/blog-arp-poisoning/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;ARP non ha autenticazione - chiunque può convincere una rete che il gateway è lui&lt;/li&gt;
&lt;li&gt;Per fare un MITM silenzioso servono tre passi: IP forwarding, avvelenare entrambi i lati, disabilitare ICMP Redirect&lt;/li&gt;
&lt;li&gt;La firma del MITM in Wireshark è inequivocabile: stesso pacchetto, stesso seq number, TTL decrementato di 1&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ip route flush all&lt;/code&gt; su una macchina remota equivale a spegnerla - lezione imparata a caro prezzo&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/arpspoof/" &gt;arpspoof&lt;/a&gt; -i eth0 -t 192.168.64.3 192.168.64.1&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/sysctl/" &gt;sysctl&lt;/a&gt; -w net.ipv4.ip_forward=1&lt;/li&gt;
&lt;li&gt;sysctl -w net.ipv4.conf.all.send_redirects=0&lt;/li&gt;
&lt;li&gt;sysctl -w net.ipv4.conf.eth0.send_redirects=0&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ip/" &gt;ip&lt;/a&gt; neighbor show&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i eth0 -n 'host 192.168.64.3 and icmp' -c 10&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;hr&gt;
&lt;p&gt;Sono le 21:00. Il lab è acceso da qualche ora. Ho appena finito di leggere
come funziona il Gratuitous ARP - quella tecnica dove un dispositivo annuncia
a tutta la rete &amp;quot;questo IP sono io&amp;quot;, senza che nessuno lo abbia chiesto.&lt;/p&gt;</description></item><item><title>IP Header e IPv4</title><link>https://u-random.dev/concetti/ip-header/</link><pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ip-header/</guid><description>Struttura dell'header IPv4: campi principali, TTL, frammentazione, checksum. IPv4 opera a Layer 3 e si occupa del routing tra reti diverse. Diverso da MAC che opera solo nella LAN.</description></item><item><title>nmap - Network Mapper</title><link>https://u-random.dev/comandi/nmap/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/nmap/</guid><description>Mappa la rete mandando pacchetti TCP/UDP/ICMP verso host e porte target e analizza le risposte. Da un singolo SYN capisce se una porta e' aperta, chiusa o filtrata. Strumento standard per asset discovery, port scanning e audit di sicurezza.</description></item><item><title>La Lettera che Cambia Busta</title><link>https://u-random.dev/blog/la-lettera-che-cambia-busta/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/la-lettera-che-cambia-busta/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;traceroute -n 8.8.8.8&lt;/code&gt; mostra i 14 router tra te e Google - ogni riga è un salto (hop)&lt;/li&gt;
&lt;li&gt;IP address = destinazione finale, non cambia mai; MAC address = tratto corrente, cambia ad ogni hop&lt;/li&gt;
&lt;li&gt;Il router legge l'IP dentro (la lettera), riscrive il MAC fuori (la busta) e passa il pacchetto al prossimo salto&lt;/li&gt;
&lt;li&gt;&lt;code&gt;* * *&lt;/code&gt; non significa percorso interrotto - solo che quel router non risponde a ICMP/UDP; prova con &lt;code&gt;-T&lt;/code&gt; (TCP)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;traceroute -n 8.8.8.8&lt;/li&gt;
&lt;li&gt;traceroute -I -n 8.8.8.8&lt;/li&gt;
&lt;li&gt;sudo traceroute -T google.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ip/" &gt;ip&lt;/a&gt; neighbor show&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ip/" &gt;ip&lt;/a&gt; route show&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;strong&gt;Sistema:&lt;/strong&gt; Linux (testato su Kali 2024 e Ubuntu 24.04)
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;traceroute&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt; - già installati di default
&lt;strong&gt;Conoscenze:&lt;/strong&gt; nessuna - si parte da zero&lt;/p&gt;</description></item><item><title>Il Processo che Non Dorme Mai</title><link>https://u-random.dev/blog/il-processo-che-non-dorme-mai/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-processo-che-non-dorme-mai/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Alert alle 2:47: processo &lt;code&gt;bash&lt;/code&gt; con connessione aperta verso IP esterno su porta 4444 → reverse shell attiva&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ss -tnp | grep ESTABLISHED&lt;/code&gt; identifica il processo e il PID in tempo reale&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tcpdump -i eth0 -n -A&lt;/code&gt; legge il payload in chiaro: comandi dell'attaccante visibili direttamente&lt;/li&gt;
&lt;li&gt;Prima di bloccare: raccogliere &lt;code&gt;history&lt;/code&gt;, &lt;code&gt;auth.log&lt;/code&gt;, &lt;code&gt;find -mmin -120&lt;/code&gt; - agire troppo presto distrugge le prove&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ss/" &gt;ss&lt;/a&gt; -tnp&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i eth0 -n -A host 185.220.101.34&lt;/li&gt;
&lt;li&gt;ip a&lt;/li&gt;
&lt;li&gt;history&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/grep/" &gt;grep&lt;/a&gt; &amp;quot;185.220.101.34&amp;quot; /var/log/auth.log&lt;/li&gt;
&lt;li&gt;find / -mmin -120 -type f 2&amp;gt;/dev/null&lt;/li&gt;
&lt;li&gt;kill -9 [PID]&lt;/li&gt;
&lt;li&gt;ufw deny from [IP]&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="Anatomia di una Reverse Shell: Timeline di Reazione"
 width="1536"
 height="2752"
 src="https://u-random.dev/assets/il-processo-che-non-dorme-mai_hu_bfbec6d0b0bbc58f.webp"
 srcset="https://u-random.dev/assets/il-processo-che-non-dorme-mai_hu_bfbec6d0b0bbc58f.webp 800w, https://u-random.dev/assets/il-processo-che-non-dorme-mai_hu_687b5c6ccfaece7e.webp 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://u-random.dev/assets/il-processo-che-non-dorme-mai.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Cosa succede davvero sulla rete mentre il tuo codice gira</title><link>https://u-random.dev/blog/tcp-handshake-per-developer/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/tcp-handshake-per-developer/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Prima di ogni richiesta HTTP il kernel fa un handshake in 3 pacchetti: SYN → SYN+ACK → ACK&lt;/li&gt;
&lt;li&gt;I flag TCP (&lt;code&gt;[S]&lt;/code&gt;, &lt;code&gt;[S.]&lt;/code&gt;, &lt;code&gt;[.]&lt;/code&gt;, &lt;code&gt;[P.]&lt;/code&gt;, &lt;code&gt;[R]&lt;/code&gt;, &lt;code&gt;[F]&lt;/code&gt;) si leggono tutti in tcpdump in tempo reale&lt;/li&gt;
&lt;li&gt;RST = chiusura brusca (porta chiusa, firewall, crash) - molti RST consecutivi sono segnale sospetto&lt;/li&gt;
&lt;li&gt;I log applicativi non vedono un SYN scan - serve tcpdump a livello di rete&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i any -n 'host api.example.com'&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i any -n 'tcp and port 443'&lt;/li&gt;
&lt;li&gt;tcpdump 'tcp[tcpflags] &amp;amp; tcp-syn != 0'&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Stai costruendo un'API. Il client manda una richiesta, il server risponde. Funziona. Ma cosa succede esattamente tra il momento in cui scrivi &lt;code&gt;fetch(&amp;quot;https://api.example.com/data&amp;quot;)&lt;/code&gt; e quello in cui arriva la risposta?&lt;/p&gt;</description></item><item><title>dig - domain information groper</title><link>https://u-random.dev/comandi/dig/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/dig/</guid><description>Invia query DNS a un nameserver e mostra la risposta completa. Strumento principale per diagnosticare DNS, verificare record, seguire la catena di risoluzione e rilevare anomalie.</description></item><item><title>TCP Handshake</title><link>https://u-random.dev/concetti/tcp-handshake/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/tcp-handshake/</guid><description>Il TCP handshake e' la negoziazione obbligatoria che precede qualsiasi trasmissione dati via TCP. Tre pacchetti stabiliscono la connessione, uno la chiude. I flag nei pacchetti dicono tutto su cosa sta succedendo.</description></item><item><title>wget - web get</title><link>https://u-random.dev/comandi/wget/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/wget/</guid><description>Scarica file da URL in modo non interattivo. A differenza di curl e' ottimizzato per il download — riprende automaticamente i download interrotti e puo' scaricare siti interi ricorsivamente.</description></item><item><title>scp - secure copy</title><link>https://u-random.dev/comandi/scp/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/scp/</guid><description>Copia file tra host locale e remoto (o tra due host remoti) usando il protocollo SSH come trasporto. Stesso sistema di autenticazione e sicurezza di SSH, incluso il supporto a ~/.ssh/config.</description></item><item><title>Anatomia di una query DNS</title><link>https://u-random.dev/blog/anatomia-di-una-query-dns/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/anatomia-di-una-query-dns/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Prima di mandare qualsiasi pacchetto in rete, il sistema cerca la risposta in cache - browser, OS, &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Se non trova niente, chiede al resolver ISP (es. 8.8.8.8) che fa il lavoro sporco&lt;/li&gt;
&lt;li&gt;Il resolver risale la gerarchia: Root Server → TLD Server → Nameserver autoritativo&lt;/li&gt;
&lt;li&gt;La risposta torna con un TTL - un timer che dice quanto tenerla in cache prima di richiederla&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/nslookup/" &gt;nslookup&lt;/a&gt; example.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/nslookup/" &gt;nslookup&lt;/a&gt; -type=MX example.com&lt;/li&gt;
&lt;li&gt;dig example.com&lt;/li&gt;
&lt;li&gt;dig +trace example.com&lt;/li&gt;
&lt;li&gt;dig -x 8.8.8.8&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Ogni volta che scrivi un dominio nel browser e premi invio, parte una catena di eventi che la maggior parte delle persone non vede mai. Il risultato finale è un indirizzo IP - ma il percorso per arrivarci attraversa cache locali, server distribuiti in tutto il mondo e una gerarchia precisa.&lt;/p&gt;</description></item><item><title>curl - Client URL</title><link>https://u-random.dev/comandi/curl/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/curl/</guid><description>Client HTTP da riga di comando. Manda richieste HTTP/HTTPS e mostra la risposta. Piu' versatile di wget per testare API, vedere header e debuggare servizi web.</description></item><item><title>Il lucchetto verde - cosa succede davvero in quei 250 millisecondi</title><link>https://u-random.dev/blog/come-funziona-una-connessione-https/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/come-funziona-una-connessione-https/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Prima del TLS c'è TCP: tre pacchetti solo per aprire il canale&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ClientHello&lt;/code&gt; è il nome reale del messaggio - lo vedi in Wireshark, è nell'RFC&lt;/li&gt;
&lt;li&gt;Browser e server derivano la stessa chiave senza mai trasmettersela (Diffie-Hellman)&lt;/li&gt;
&lt;li&gt;Ogni sessione usa chiavi nuove e le butta via - anche se qualcuno ruba la chiave del server tra un anno, il traffico di oggi resta illeggibile&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/openssl-s_client/" &gt;openssl s_client&lt;/a&gt; -connect google.com:443 -showcerts&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/openssl-s_client/" &gt;openssl s_client&lt;/a&gt; -connect dominio.com:443 2&amp;gt;/dev/null | openssl x509 -noout -dates&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/openssl-s_client/" &gt;openssl s_client&lt;/a&gt; -connect google.com:443 &amp;lt;/dev/null 2&amp;gt;/dev/null | openssl x509 -noout -text | &lt;a href="https://u-random.dev/comandi/grep/" &gt;grep&lt;/a&gt; -E &amp;quot;Subject|Issuer|Not After&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Ogni volta che scrivi &lt;code&gt;https://&lt;/code&gt; nel browser e premi invio, sullo sfondo succede qualcosa che la maggior parte degli sviluppatori web dà per scontato. Il lucchetto verde appare, la connessione è &amp;quot;sicura&amp;quot;, si va avanti.&lt;/p&gt;</description></item><item><title>HTTP in Detail</title><link>https://u-random.dev/concetti/http-in-detail/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/http-in-detail/</guid><description>Protocollo HTTP: struttura URL, metodi, status code, header, cookie e sessioni. Prospettiva applicativa.</description></item><item><title>ARP - Address Resolution Protocol</title><link>https://u-random.dev/concetti/arp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/arp/</guid><description>Protocollo che traduce indirizzi IP (Layer 3) in indirizzi MAC (Layer 2). Quando un dispositivo vuole comunicare con un IP nella stessa subnet, usa ARP per scoprire il MAC address corrispondente prima di poter inviare i dati.</description></item><item><title>DNS Records</title><link>https://u-random.dev/concetti/dns-records/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/dns-records/</guid><description>I record DNS sono le singole 'voci' nella zona DNS di un dominio. Ogni record associa un nome a un valore specifico (IP, altro nome, server di posta, testo di verifica). Quando modifichi i parametri DNS nel pannello del tuo provider, stai editando questi record.</description></item><item><title>DNS Resolution Flow</title><link>https://u-random.dev/concetti/dns-resolution-flow/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/dns-resolution-flow/</guid><description>Il DNS è il sistema distribuito gerarchico che traduce nomi di dominio in indirizzi IP attraverso una catena di deleghe: resolver, root server, TLD, authoritative nameserver.</description></item><item><title>How Web Works</title><link>https://u-random.dev/concetti/how-web-works/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/how-web-works/</guid><description>Architettura completa di una richiesta web end-to-end: DNS, WAF, load balancer, web server, virtual host, database, contenuto statico vs dinamico, backend languages.</description></item><item><title>ICMP, MAC e IP - Identità e Diagnostica di Rete</title><link>https://u-random.dev/concetti/icmp-mac-ip/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/icmp-mac-ip/</guid><description>Tre concetti fondamentali del networking: IP identifica dove sei nella rete (indirizzo logico), MAC identifica chi sei fisicamente sulla LAN (indirizzo hardware), ICMP è il protocollo di diagnostica usato da ping e traceroute.</description></item><item><title>LAN Topologies - Topologie di Rete</title><link>https://u-random.dev/concetti/lan-topologies/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/lan-topologies/</guid><description>Una topologia di rete descrive come i dispositivi sono collegati fisicamente e logicamente tra loro. La scelta della topologia influenza costo, scalabilità, affidabilità e facilità di troubleshooting.</description></item><item><title>Nat Concept</title><link>https://u-random.dev/concetti/nat-concept/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/nat-concept/</guid><description>Il NAT è un meccanismo che permette a più dispositivi di una rete privata (con IP privati) di accedere a una rete pubblica (Internet) utilizzando un unico indirizzo IP pubblico. Funziona come un portiere d'albergo che smista la posta per tutte le stanze.</description></item><item><title>Network Configuration Linux</title><link>https://u-random.dev/concetti/network-configuration-linux/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/network-configuration-linux/</guid><description>La gestione della rete su Linux varia a seconda della distribuzione e dello scopo (Server vs Desktop). Ubuntu Server usa principalmente Netplan, mentre Kali (e le distro desktop) usa spesso NetworkManager o il file statico &lt;code&gt;interfaces&lt;/code&gt;.</description></item><item><title>Network Interfaces (Interfacce di Rete)</title><link>https://u-random.dev/concetti/network-interfaces/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/network-interfaces/</guid><description>Un'interfaccia di rete è il punto di contatto tra il kernel Linux e una rete - fisica o virtuale. Ogni interfaccia ha un nome, un indirizzo IP, e gestisce un tipo specifico di traffico.</description></item><item><title>nslookup - query DNS interattive</title><link>https://u-random.dev/comandi/nslookup/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/nslookup/</guid><description>Interroga i server DNS per ottenere i record associati a un dominio. Utile per verificare configurazioni DNS, investigare domini sospetti e controllare record SPF/DMARC durante analisi phishing. nslookup (name server lookup) — ricerca nei nameserver.</description></item><item><title>OSI Model - Il Modello a Layer</title><link>https://u-random.dev/concetti/osi-model/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/osi-model/</guid><description>Modello concettuale creato da ISO nel 1984 per standardizzare la comunicazione tra sistemi di produttori diversi. Divide la comunicazione di rete in 7 layer con responsabilità precise. Oggi TCP/IP ha vinto nella pratica comprimendo i 7 layer in 4, ma OSI rimane il linguaggio universale per ragionare sui problemi di rete e sicurezza.</description></item><item><title>Passive Reconnaissance - Ricognizione Passiva</title><link>https://u-random.dev/concetti/passive-reconnaissance/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/passive-reconnaissance/</guid><description>Fase di raccolta informazioni su un target senza interagire direttamente con i suoi sistemi. Il target non si accorge dell'attività perché si usano solo fonti pubbliche: motori di ricerca, DNS pubblici, social media, archivi, certificati TLS.</description></item><item><title>ping - test di raggiungibilita ICMP</title><link>https://u-random.dev/comandi/ping/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/ping/</guid><description>Invia pacchetti ICMP Echo Request a un host e misura il tempo di risposta. Usato per verificare la raggiungibilità di un host e la latenza della connessione.</description></item><item><title>Proxy</title><link>https://u-random.dev/concetti/proxy/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/proxy/</guid><description>Un server proxy agisce come intermediario tra un client e un server. A differenza del NAT che lavora a basso livello (IP), il proxy lavora solitamente a livello applicativo. Il client chiede al proxy, e il proxy chiede al server finale 'per conto' del client.</description></item><item><title>Routing, Hop e TTL</title><link>https://u-random.dev/concetti/routing-hop-ttl/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/routing-hop-ttl/</guid><description>Il routing è il processo con cui i pacchetti viaggiano da una rete all'altra attraverso router intermedi. Ogni 'tappa' si chiama hop. Il TTL limita il numero massimo di hop che un pacchetto può fare prima di essere scartato.</description></item><item><title>Ssh Key Authentication</title><link>https://u-random.dev/concetti/ssh-key-authentication/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/concetti/ssh-key-authentication/</guid><description>Metodo di autenticazione sicura basato sulla crittografia asimmetrica. Utilizza una coppia di chiavi (pubblica e privata) per stabilire fiducia tra client e server senza inviare password in rete.</description></item><item><title>strings - estrae stringhe leggibili da file binari</title><link>https://u-random.dev/comandi/strings/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/strings/</guid><description>Analizza file binari o flussi di dati per estrarre e stampare sequenze di caratteri ASCII (testo leggibile) lunghe almeno 4 caratteri (default).</description></item><item><title>telnet - protocollo di accesso remoto non cifrato</title><link>https://u-random.dev/comandi/telnet/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/comandi/telnet/</guid><description>Protocollo client-server che permette l'accesso remoto a un computer. A differenza di SSH, non è cifrato: tutto viaggia in chiaro. Oggi viene usato quasi esclusivamente per testare se una porta specifica è aperta.</description></item></channel></rss>