Conceptes bàsics
Aquest capítol tracta els conceptes fonamentals que cal entendre abans de capturar trànsit amb lippycat. Si ja coneixeu la captura de paquets (per exemple, per experiència amb tcpdump o Wireshark), podeu llegir-lo per sobre i continuar amb Instal·lació i configuració.
Paquets i protocols
El trànsit de xarxa es compon de paquets, unitats de dades discretes que s’envien entre amfitrions. Cada paquet conté capes de protocol imbricades:
Ethernet → IP → TCP/UDP → Application (HTTP, SIP, DNS, ...)
lippycat captura paquets a la capa d’enllaç i analitza cada capa de protocol, extraient informació significativa segons el mode de protocol que utilitzeu.
Protocols que analitza lippycat
| Protocol | Subordre | Què captura |
|---|---|---|
| DNS | lc sniff dns | Consultes, respostes i tipus de registre |
| TLS | lc sniff tls | Negociacions, certificats i conjunts de xifratge |
| HTTP | lc sniff http | Peticions, respostes i capçaleres |
| Correu electrònic | lc sniff email | Sessions SMTP/IMAP/POP3 |
| RADIUS | lc sniff radius | Missatges d’autenticació/comptabilització i associació de peticions |
| VoIP | lc sniff voip | Senyalització SIP i fluxos multimèdia RTP |
Interfícies de xarxa
Una interfície de xarxa és el punt on la vostra màquina es connecta a una xarxa. Exemples habituals:
eth0/ens33— Ethernet per cablewlan0— Sense fillo— Bucle local (només trànsit local)any— Captura simultània en totes les interfícies
Per veure les interfícies disponibles:
lc list interfaces
Permisos de captura
La captura de paquets requereix privilegis elevats perquè implica llegir tot el trànsit d’una interfície, i no només el destinat a la vostra aplicació.
Opció 1: executar com a root
sudo lc sniff -i eth0
Opció 2: concedir una capacitat (recomanada per a producció)
sudo setcap cap_net_raw+ep /usr/local/bin/lc
Això concedeix únicament la capacitat específica necessària, d’acord amb el principi de privilegi mínim.
Filtres BPF
Els Berkeley Packet Filters (BPF) permeten indicar al nucli quins paquets ha de capturar, reduint la càrrega de CPU mitjançant el filtratge al nivell més baix, abans que els paquets arribin a l’espai d’usuari.
Capturar només trànsit DNS:
lc sniff -i eth0 -f "port 53"
Capturar només trànsit cap a un amfitrió concret o des d’aquest:
lc sniff -i eth0 -f "host 10.0.0.1"
Combinar filtres:
lc sniff -i eth0 -f "host 10.0.0.1 and port 5060"
Els filtres BPF utilitzen una sintaxi estàndard compartida amb tcpdump i Wireshark. Consulteu l’Apèndix C: referència de filtres BPF per veure patrons habituals.
Format PCAP
PCAP (Packet Capture) és el format de fitxer estàndard per emmagatzemar paquets capturats. Els fitxers escrits per lippycat es poden obrir amb Wireshark, analitzar amb tshark o reproduir amb tcpreplay.
Escriure els paquets capturats en un fitxer:
lc sniff -i eth0 -w capture.pcap
Llegir un fitxer PCAP a la TUI:
lc watch file capture.pcap
lippycat admet diversos modes d’escriptura de PCAP:
- PCAP unificat — Tots els paquets en un fitxer
- PCAP per trucada — Un fitxer per trucada VoIP (SIP Call-ID)
- PCAP amb rotació automàtica — Fitxer nou en arribar a un llindar de mida o temps
Anàlisi de protocols
Més enllà de la simple captura de paquets, lippycat fa anàlisi de protocols: entén l’estructura i la semàntica dels protocols que supervisa:
- DNS: analitza els tipus de consulta, els codis de resposta i les dades dels registres
- TLS: extreu SNI, cadenes de certificats, negociació de xifratge i empremtes JA3/JA3S/JA4
- VoIP: segueix els diàlegs SIP, correlaciona fluxos RTP i calcula mètriques de qualitat de les trucades
- HTTP: reconstrueix parelles de petició/resposta dels fluxos TCP (amb desxifratge TLS opcional)
- Correu electrònic: segueix sessions SMTP, IMAP i POP3 amb correlació de remitent/destinatari
- RADIUS: descodifica missatges UDP visibles d’autenticació/comptabilització i associa respostes amb peticions
Aquesta anàlisi es fa en temps real durant la captura i es mostra tant al mode CLI com al mode TUI.
El model distribuït
lippycat pot funcionar com un sistema distribuït per capturar trànsit en diversos segments de xarxa:
graph LR
h1["Hunter<br>(edge)"]
h2["Hunter<br>(edge)"]
p["Processor<br>(central)"]
out["TUI / PCAP / Analysis"]
h1 -->|gRPC| p
h2 -->|gRPC| p
p --> out
- Els nodes Hunter capturen paquets a la perifèria de la xarxa i els transmeten mitjançant gRPC
- Els processadors reben, agreguen i analitzen paquets de diversos nodes Hunter
- Tap combina tots dos rols per a desplegaments en una sola màquina
Aquesta arquitectura es tracta detalladament a la Part III: captura distribuïda. De moment, n’hi ha prou amb saber que tots els conceptes de captura local (interfícies, filtres, protocols) també s’apliquen al mode distribuït.