Introduzione

Parte 7

Rete senza tentativi casuali: diagnostica uno strato alla volta

La rete diventa comprensibile quando osservi gli strati separatamente.

Una richiesta web è una pila di domande

DNS, servizio/porta, TLS e HTTP devono funzionare. Verificali separatamente invece di reagire solo all’errore del browser.

Un nome non è un indirizzo

dns controlla la risoluzione, ip analizza indirizzo/rete. Risolvere un nome non prova che il web server sia attivo.

install ping dns ip tcp curl cert net geo
dns example.com -a -aaaa
ip 192.0.2.10/24
ip server

In lil-terminal, `ping` è un controllo HTTP

Diversamente dal ping ICMP classico, lil mostra status HTTP, URL finale, tempo e indirizzi risolti.

ping https://example.com -t
ping example.com -i

L’indirizzo ha ancora bisogno del servizio e della fiducia

tcp ... -tls prova il servizio, cert -h il certificato. -k è solo un’eccezione diagnostica.

tcp example.com 443 -tls -i
cert -h example.com
tcp example.com 80

Gli header HTTP spesso spiegano il problema

curl -I e -i rendono visibili status, redirect e metadata del protocollo.

curl https://example.com -I
curl https://example.com -i -t 10
curl https://example.com -o network-example.html

Interfacce locali e GeoIP sono contesto

net mostra interfacce visibili, geo può aggiungere una stima geografica. Un IP non identifica una persona.

net -l
net -4
geo example.com -c

Salva la sequenza diagnostica che funziona

Uno script con gli stessi controlli permette di confrontare host diversi senza reinventare il processo.

Conservalo come script

network-check.lil esegue cinque controlli read-only su example.com.

#lil
@install ping dns tcp curl cert
ping https://example.com -t
dns example.com -a -aaaa
tcp example.com 443 -tls
curl https://example.com -I
cert -h example.com