Referència de configuració
Aquest apèndix documenta totes les claus de configuració del fitxer de configuració YAML de lippycat. Totes les claus mostrades aquí corresponen a la sortida de lc show config, que mostra la configuració activa (valors per defecte combinats amb qualsevol fitxer de configuració i sobreescriptures CLI) en format JSON.
Ubicacions del fitxer de configuració
lippycat cerca un fitxer de configuració a les ubicacions següents, per ordre de prioritat:
- Camí especificat amb l’indicador
-c/--config(prioritat màxima) $HOME/.config/lippycat/config.yaml(preferida)$HOME/.config/lippycat.yaml(estàndard XDG)$HOME/.lippycat.yaml(heretada)
S’utilitza el primer fitxer trobat. Només es carrega un fitxer de configuració.
Regles de precedència
Quan una mateixa opció s’especifica en diversos llocs, lippycat aplica aquest ordre de precedència (guanya la més alta):
- Indicadors CLI — Sempre tenen prioritat sobre la resta
- Variables d’entorn — Sobreescriuen els valors del fitxer de configuració (amb el prefix
LIPPYCAT_) - Fitxer de configuració — Valors YAML del fitxer de configuració
- Valors per defecte — Valors integrats mostrats en aquesta referència
Consultar la configuració activa
Per veure la configuració activa completa (amb totes les fonts combinades):
lc show config
Això genera JSON. Per convertir-lo mentalment en camins YAML, substituïu l’imbricament per sagnat (p. ex., el JSON {"voip": {"sip_ports": "5060"}} esdevé voip.sip_ports o, en format de fitxer YAML, voip: / sip_ports: "5060").
Variables d’entorn
Les claus de configuració es poden establir amb variables d’entorn segons el patró LIPPYCAT_<SECTION>_<KEY>. Les claus imbricades utilitzen guions baixos:
export LIPPYCAT_VOIP_SIP_PORTS="5060,5061"
export LIPPYCAT_PROCESSOR_LISTEN_ADDR=":55555"
L’opció següent exigeix xifratge TLS:
export LIPPYCAT_PRODUCTION=true
Emmagatzematge gestionat
Utilitzeu processor o tap en lloc de ROLE a continuació. Tots els protocols de Tap utilitzen les mateixes opcions. El mode de filtres se selecciona segons l’activació efectiva de LI, independentment de si el binari inclou suport LI.
| Tecla | Valor per defecte | Descripció |
|---|---|---|
ROLE.filter_file | Buit | Camí explícit de la instantània; altrament se selecciona ~/.config/lippycat/filters.yaml o filters.enc segons el mode. |
ROLE.filter_store.mode | auto | auto selecciona YAML amb LI desactivada i xifratge amb LI activada; yaml explícit amb LI activada és invàlid. |
ROLE.filter_store.key_id | Buit | ID de la clau activa de filtres; obligatori en mode xifrat. |
ROLE.filter_store.key_file | Buit | Referència a un fitxer privat de clau de 32 bytes en brut; només en mode xifrat. |
ROLE.filter_store.read_keys | [] | Fins a quatre referències anteriors id=path amb ID i material diferents. |
ROLE.li.state_file | Buit | Camí de la instantània administrativa xifrada; buit desactiva la persistència administrativa on la reproducció no l’exigeix. |
ROLE.li.state_key_id | Buit | ID de la clau administrativa activa. |
ROLE.li.state_key_file | Buit | Obligatori amb persistència d’estat; fitxer privat independent de clau de 32 bytes en brut. |
ROLE.li.state_read_keys | [] | Fins a quatre referències administratives anteriors id=path. |
ROLE.li.delivery_x2_spool_key_id | Buit | ID de la clau X2 activa; buit preserva el mode de compatibilitat existent amb només fitxer de clau. |
ROLE.li.delivery_x2_spool_legacy_key_id | Buit | ID de clau configurat explícitament per a registres antics sense ID de clau integrats. |
ROLE.li.delivery_x2_spool_read_keys | [] | Fins a quatre referències X2 anteriors id=path. |
ROLE.li.delivery_x3_spool_dir | Buit | Activa persistència X3 xifrada independent; requereix estat LI i reconciliació ADMF a l’inici. |
ROLE.li.delivery_x3_spool_max_bytes | 0 | Pressupost positiu explícit de disc assignat, incloent-hi reserves pendents i de control. |
ROLE.li.delivery_x3_spool_key_file | Buit | Clau X3 privada de 32 bytes en brut, proveïda independentment. |
ROLE.li.delivery_x3_spool_key_id | Buit | ID de la clau X3 activa. |
ROLE.li.delivery_x3_spool_read_keys | [] | Com a màxim quatre referències X3 anteriors id=path. |
ROLE.li.delivery_x3_max_age | 0 | Durada de retenció des de l’admissió original; ha de ser positiva quan la persistència X3 està activada. |
ROLE.li.delivery_x3_spool_replay_policy | hold | L’X3 recuperat roman retingut per a autorització explícita; purge el descarta de manera duradora. |
ROLE.li.delivery_x3_spool_replay_manifest | Buit | Manifest privat d’aprovació de versió 2 per a registres X3 històrics exactes. |
ROLE.li.delivery_x3_spool_export_manifest | Buit | Exportació privada d’identitats X3 retingudes per a revisió. |
Les opcions LI requereixen una compilació LI. Els magatzems xifrats activats han d’utilitzar claus proveïdes independentment, incloses les claus de lectura anteriors. L’opció existent ROLE.li.delivery_x2_spool_key_file encara fa referència a una clau X2 de 32 bytes en brut; les referències de clau no fan cap reescriptura fora de línia.
Els valors CLI sobreescriuen els valors explícits d’entorn amb prefix de rol, que sobreescriuen el YAML, inclosos els valors buits. Per exemple, LIPPYCAT_PROCESSOR_FILTER_STORE_KEY_FILE i LIPPYCAT_TAP_LI_STATE_KEY_FILE estableixen referències a fitxers. Els valors d’entorn de claus anteriors són un únic registre CSV, mentre que el YAML utilitza una llista de cadenes id=path. Els bytes de clau en brut no pertanyen a la configuració.
Atureu el node per inicialitzar o migrar instantànies xifrades; consulteu ordres d’emmagatzematge gestionat. Els magatzems xifrats absents o invàlids impedeixen l’inici. El YAML continua sent editable amb el node aturat i es carrega en reiniciar; utilitzeu les ordres de gestió per canviar els filtres d’un node en execució. Quan existeixen tots dos fitxers de filtres per defecte, trieu el mode desitjat i un camí explícit.
Opcions globals
Aquestes claus de nivell superior s’apliquen a totes les ordres.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
pcap_buffer_size | integer | 16777216 (16 MB) | Mida en bytes de la memòria intermèdia del nucli per a captura de paquets. Els valors més grans redueixen els descarts de paquets amb càrrega alta. |
sip_buffer_size | integer | 0 | Capacitat genèrica de prioritat SIP per a captura en viu. 0 coincideix automàticament amb packet_buffer_size; els valors positius la sobreescriuen. |
pcap_timeout_ms | integer | 200 | Temps d’espera en mil·lisegons de les lectures pcap. Els valors més baixos redueixen la latència; els més alts milloren l’eficiència dels lots. |
promiscuous | boolean | false | Activa el mode promiscu en les interfícies de captura. Quan és true, la interfície captura tot el trànsit del segment, no només l’adreçat a l’amfitrió. |
Capacitat del detector de protocols
Aquestes claus limiten l’estat conservat pel detector de protocols. Amb un límit positiu, inserir una clau nova quan és ple expulsa un lot amb el 10% d’entrades més antigues (amb un mínim d’una) abans d’admetre la clau. Un valor zero o inferior desactiva l’expulsió per límit.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
detector.max_flows | integer | 100000 | Màxim de contextos de flux actius. Els valors més baixos redueixen la memòria i la pausa d’expulsió, però conserven menys historial de protocols amb estat amb cardinalitat alta. |
detector.max_cache_entries | integer | 100000 | Màxim de resultats de detecció en cau. Els valors més baixos redueixen la memòria però provoquen més reclassificació quan el conjunt de treball supera el límit. |
detector.max_sip_ip_pairs | integer | 100000 | Màxim d’associacions de parelles IP SIP; els valors no positius utilitzen el valor per defecte. Expulsa l’observació SIP més antiga quan és ple. |
Consulteu optimització del rendiment per als ajustos en producció i la interpretació de telemetria.
Registres de protocols estructurats
Aquestes claus configuren els registres opcionals de protocols normalitzats de sniff, process i tap. Establir logs.dir activa la sortida a fitxers. Consulteu registres de protocols estructurats per als esquemes de flux, el comportament jeràrquic, la rotació i les orientacions de privadesa.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
events.queue_size | integer | 20000 | Capacitat de la cua d’esdeveniments de protocol normalitzats. |
events.drop_policy | string | "drop_new" | Política de desbordament d’esdeveniments normalitzats. |
logs.dir | string | "" | Directori de registres estructurats; un valor buit desactiva el registre. |
logs.format | string | "tsv" | Codificació de sortida: "tsv" o "json" (JSONL). |
logs.streams | list | [conn, dns, ssl, http, smtp, files, radius] | Fluxos de registre activats. |
logs.include_http_headers | boolean | false | Preserva els mapes complets de capçaleres HTTP en els esdeveniments normalitzats. |
logs.include_email_body_preview | boolean | false | Permet previsualitzacions potencialment sensibles del cos de correus per a l’anàlisi de fitxers. |
logs.rotate_interval | duration | "1h" | Interval de rotació periòdica; 0 desactiva la rotació periòdica. |
logs.queue_size | integer | 10000 | Capacitat de la cua de sortida de cada flux. |
logs.emit_stage | string | "terminal" | process/tap: "terminal", "all" o "none". |
logs.post_rotate_command | string | "" | Ordre després de la rotació; %log% s’expandeix al camí rotat amb citació segura. |
files.extract | boolean | false | Extreu contingut de fitxers HTTP i SMTP amb límits. |
files.extract_dir | string | "" | Directori d’extracció; obligatori quan l’extracció està activada. |
files.max_size | integer | 10485760 | Màxim de bytes analitzats o extrets per fitxer. |
files.total_size | integer | 104857600 | Màxim de bytes extrets durant la vida del procés. |
Configuració d’observació de xarxa
Aquestes opcions compartides s’apliquen a l’anàlisi de paquets de Hunter, processador/Tap, sniff, TUI local/fora de línia i client de supervisió, independentment del registre en fitxers. L’inventari està activat per defecte; una llista CIDR buida inclou tots els amfitrions i serveis unicast observats elegibles. Establiu events.inventory.enabled a false per desactivar-lo. Els CIDR configurats filtren opcionalment els subjectes de l’inventari i classifiquen els extrems de connexió com a locals; una llista buida no marca totes les adreces com a locals. Els límits per àmbit no poden superar els globals; tots els límits d’estat, finestres de retenció i temps d’espera d’associació han de ser positius.
| Tecla | Valor per defecte | Significat |
|---|---|---|
events.inventory.enabled | true | Produeix observacions d’amfitrions i serveis coneguts |
events.inventory.local_cidrs | [] | Filtre opcional de subjectes IPv4/IPv6 |
events.inventory.max_entries | 16384 | Límit global d’entrades d’inventari |
events.inventory.max_bytes | 8388608 | Límit global de bytes comptabilitzats d’inventari |
events.inventory.max_entries_per_scope | 4096 | Límit d’entrades d’inventari per àmbit |
events.inventory.max_bytes_per_scope | 2097152 | Límit de bytes comptabilitzats d’inventari per àmbit |
events.inventory.retention | 24h | Finestra de deduplicació en temps de captura |
events.dhcp.max_entries | 4096 | Límit d’entrades d’associació DHCP |
events.dhcp.max_bytes | 4194304 | Límit de bytes comptabilitzats d’associació DHCP |
events.dhcp.timeout | 2m | Temps d’espera d’associació DHCP segons el temps de captura |
events.ntp.max_entries | 4096 | Límit d’entrades d’associació NTP |
events.ntp.max_bytes | 4194304 | Límit de bytes comptabilitzats d’associació NTP |
events.ntp.timeout | 30s | Temps d’espera d’associació NTP segons el temps de captura |
Els quatre noms de flux opcionals són dhcp, ntp, known_hosts i known_services; logs.streams conserva els set fluxos per defecte existents. Consulteu DHCP, NTP i inventaris locals per a la granularitat de registre, l’evidència, la privadesa i el comportament d’estat limitat.
Configuració de captura de protocols
Aquests apartats configuren l’anàlisi específica de protocols. DNS, correu, HTTP i TLS utilitzen l’espai de noms lc sniff <protocol> mostrat a continuació; RADIUS utilitza un espai de noms compartit entre sniff radius, hunt radius i tap radius. Les opcions controlen els ports, els criteris de coincidència, la correlació i la captura opcional de contingut.
dns — Captura DNS
Utilitzat per lc sniff dns. Consulteu captura CLI amb lc sniff per a l’ús.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
dns.ports | string | "53" | Llista separada per comes de ports DNS que se supervisen. |
dns.udp_only | boolean | false | Captura només trànsit DNS UDP (omet DNS TCP). |
dns.track_queries | boolean | true | Segueix parelles de consulta/resposta DNS per correlacionar-les. |
dns.detect_tunneling | boolean | true | Activa les heurístiques de detecció de túnels DNS. |
dns.domain_pattern | string | "" | Patró d’expressió regular per filtrar per nom de domini. Buit significa tots els dominis. |
dns.domains_file | string | "" | Camí del fitxer que conté patrons de domini (un per línia). |
email — Captura de correu
Utilitzat per lc sniff email. Compatible amb els protocols SMTP, IMAP i POP3.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
email.smtp_ports | string | "25,587,465" | Ports SMTP que se supervisen. |
email.imap_ports | string | "143,993" | Ports IMAP que se supervisen. |
email.pop3_ports | string | "110,995" | Ports POP3 que se supervisen. |
email.protocol | string | "all" | Filtre de protocol: "all", "smtp", "imap" o "pop3". |
email.track_sessions | boolean | true | Segueix l’estat de sessió de correu entre paquets. |
email.capture_body | boolean | false | Captura el contingut del cos dels correus. |
email.max_body_size | integer | 65536 | Mida màxima de captura del cos en bytes. |
email.sender_pattern | string | "" | Patró d’expressió regular per filtrar per adreça del remitent. |
email.senders_file | string | "" | Camí del fitxer que conté patrons de remitent. |
email.recipient_pattern | string | "" | Patró d’expressió regular per filtrar per adreça del destinatari. |
email.recipients_file | string | "" | Camí del fitxer que conté patrons de destinatari. |
email.address_pattern | string | "" | Patró d’expressió regular per trobar coincidències en qualsevol adreça (remitent o destinatari). |
email.addresses_file | string | "" | Camí del fitxer que conté patrons d’adreça. |
email.subject_pattern | string | "" | Patró d’expressió regular per filtrar per línia d’assumpte. |
email.subjects_file | string | "" | Camí del fitxer que conté patrons d’assumpte. |
email.command_pattern | string | "" | Patró d’expressió regular per filtrar per ordre SMTP/IMAP. |
email.mailbox_pattern | string | "" | Patró d’expressió regular per filtrar per nom de bústia. |
email.keywords_file | string | "" | Camí del fitxer que conté paraules clau de contingut. |
http — Captura HTTP
Utilitzat per lc sniff http. Compatible amb HTTP/1.x amb desxifratge TLS opcional.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
http.ports | string | "80,8080,8000,3000,8888" | Ports HTTP que se supervisen. |
http.track_requests | boolean | true | Segueix parelles de petició/resposta HTTP. |
http.capture_body | boolean | false | Captura el contingut del cos HTTP. |
http.max_body_size | integer | 65536 | Mida màxima de captura del cos en bytes. |
http.methods | string | "" | Mètodes HTTP separats per comes que es filtren (p. ex., "GET,POST"). Buit significa tots. |
http.status_codes | string | "" | Codis d’estat separats per comes que es filtren (p. ex., "200,404,500"). Buit significa tots. |
http.host_pattern | string | "" | Patró d’expressió regular per filtrar per capçalera Host. |
http.hosts_file | string | "" | Camí del fitxer que conté patrons d’amfitrió. |
http.path_pattern | string | "" | Patró d’expressió regular per filtrar per camí de petició. |
http.paths_file | string | "" | Camí del fitxer que conté patrons de camí. |
http.user_agent_pattern | string | "" | Patró d’expressió regular per filtrar per capçalera User-Agent. |
http.user_agents_file | string | "" | Camí del fitxer que conté patrons User-Agent. |
http.content_type_pattern | string | "" | Patró d’expressió regular per filtrar per capçalera Content-Type. |
http.content_types_file | string | "" | Camí del fitxer que conté patrons Content-Type. |
http.keywords_file | string | "" | Camí del fitxer que conté paraules clau de contingut. |
http.tls_keylog | string | "" | Camí del fitxer de registre de claus TLS (format SSLKEYLOGFILE) per desxifrar trànsit HTTPS. |
http.tls_keylog_pipe | string | "" | Camí d’una canonada amb nom per transmetre dades de registre de claus TLS. |
tls — Captura TLS
Utilitzat per lc sniff tls. Captura negociacions TLS i extreu empremtes.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tls.ports | string | "443" | Ports TLS que se supervisen. |
tls.track_connections | boolean | true | Segueix l’estat de la connexió TLS. |
tls.sni_pattern | string | "" | Patró d’expressió regular per filtrar per SNI (Server Name Indication). |
tls.sni_file | string | "" | Camí del fitxer que conté patrons SNI. |
tls.ja3 | string | "" | Resums JA3 separats per comes amb els quals es busca coincidència. |
tls.ja3_file | string | "" | Camí del fitxer que conté resums JA3. |
tls.ja3s | string | "" | Resums JA3S (servidor) separats per comes amb els quals es busca coincidència. |
tls.ja3s_file | string | "" | Camí del fitxer que conté resums JA3S. |
tls.ja4 | string | "" | Empremtes JA4 separades per comes amb les quals es busca coincidència. |
tls.ja4_file | string | "" | Camí del fitxer que conté empremtes JA4. |
radius — Captura RADIUS
RADIUS utilitza un apartat de configuració compartit entre sniff radius, hunt radius i tap radius, en lloc de còpies amb prefix d’ordre. Consulteu la taula completa d’indicadors/claus/valors per defecte i el seu exemple YAML. Les claus d’entorn utilitzen LIPPYCAT_RADIUS_, per exemple LIPPYCAT_RADIUS_OPERATOR_SCOPE=operator-a/nas-a i LIPPYCAT_RADIUS_TRANSACTION_TIMEOUT=30s. Els ports de captura addicionals complementen UDP 1812/1813; els perfils seleccionen atributs concrets i mai no fan consultes a l’inventari.
Les opcions RADIUS exclusives de LI utilitzen l’apartat compartit li.radius i es documenten a la configuració POI.
Configuració del motor VoIP
L’apartat voip configura el motor central d’anàlisi VoIP utilitzat en totes les ordres de captura (sniff voip, hunt voip, tap voip). És l’apartat de configuració més extens i cobreix anàlisi SIP/RTP, reassemblatge TCP, acceleració GPU i gestió de connectors.
Per als detalls dels perfils de rendiment TCP, consulteu optimització del rendiment.
Configuració bàsica de VoIP
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.sip_ports | string | "" | Ports SIP separats per comes. Buit utilitza la detecció per defecte. |
voip.rtp_port_ranges | string | "" | Intervals de ports RTP (p. ex., "10000-20000"). Buit utilitza la detecció per defecte. |
voip.udp_only | boolean | false | Captura VoIP antiga només UDP. L’indicador CLI corresponent està ocult i obsolet; preferiu sip_ports i rtp_port_ranges per restringir els filtres BPF sense perdre SIP TCP. |
voip.pattern_algorithm | string | "auto" | Algorisme de cerca de patrons: "auto", "linear" o "aho-corasick". |
voip.pattern_buffer_mb | integer | 64 | Pressupost de memòria per a memòries intermèdies de cerca de patrons en MB. |
voip.max_filename_length | integer | 100 | Longitud màxima dels noms de fitxer PCAP generats. |
Gestió de trucades
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.call_expiration_time | duration | "1h0m0s" | Temps després del qual caduquen les trucades inactives. |
voip.call_id_detection_timeout | duration | "30s" | Temps d’espera per detectar l’ID de trucada a partir del paquet inicial. |
voip.janitor_cleanup_interval | duration | "30s" | Interval de neteja de trucades i recursos caducats. |
voip.max_goroutines | integer | 1000 | Llindar orientatiu d’avisos de goroutines de processament de fluxos TCP; no imposa un límit. |
voip.log_goroutine_limit_interval | duration | "30s" | Interval de registre d’avisos del llindar de goroutines. |
Reassemblatge TCP
Aquestes opcions controlen el reassemblatge de fluxos TCP per a SIP sobre TCP. tcp_performance_mode estableix valors raonables per a tots els paràmetres TCP; sobreescriviu opcions individuals només quan calgui.
voip.max_streams limita les connexions SIP TCP actives amb memòria intermèdia quan és positiu; totes dues direccions comparteixen una ranura d’admissió. El valor per defecte 0 és il·limitat. En arribar al límit, es rebutgen les connexions noves o els intents de reactivació de connexions completament inactives i es descarten les seves dades SIP. Les connexions descartades encara poden ocupar entrades del conjunt de reassemblatge fins que es tanquen o es buiden, de manera que això no limita les entrades del conjunt ni la memòria total del procés. tap voip i hunt voip rebutgen valors negatius.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.tcp_performance_mode | string | "balanced" | Perfil TCP de sniff voip: "balanced", "throughput", "latency" o "memory". tap.voip.tcp_performance_mode té noms de perfil específics de Tap. Consulteu optimització del rendiment. |
voip.max_tcp_buffers | integer | 10000 | Màxim de memòries intermèdies de flux TCP. |
voip.max_streams | integer | 0 | Màxim de connexions SIP TCP actives amb memòria intermèdia, totes dues direccions per ranura; 0 = il·limitat. Amb un límit positiu, es rebutgen les connexions noves o els intents de reactivació de connexions completament inactives. |
voip.tcp_memory_limit | integer | 104857600 (100 MB) | Límit de memòria per al reassemblatge TCP en bytes. |
voip.tcp_batch_size | integer | 32 | Nombre de segments TCP que es processen per lot. |
voip.tcp_io_threads | integer | 4 | Nombre de fils d’E/S per al processament TCP. |
voip.tcp_buffer_pool_size | integer | 1000 | Mida del conjunt de memòries intermèdies TCP. |
voip.tcp_buffer_max_age | duration | "5m0s" | Antiguitat màxima d’una memòria intermèdia TCP abans de la neteja forçada. |
voip.tcp_buffer_strategy | string | "adaptive" | Estratègia d’assignació de memòria intermèdia: "fixed", "adaptive" o "ring". |
voip.tcp_compression_level | integer | 1 | Nivell de compressió d’emmagatzematge de memòries intermèdies TCP (0=cap, 1=ràpid, 9=millor). |
voip.tcp_assembler_max_pages | integer | 100 | Màxim de pàgines del reassemblador per al reassemblatge de fluxos TCP. |
voip.tcp_stream_timeout | duration | "10m0s" | Temps d’espera de fluxos TCP inactius. |
voip.tcp_stream_max_queue_time | duration | "2m0s" | Temps màxim que un paquet pot esperar a la cua de fluxos. |
voip.tcp_sip_idle_timeout | duration | "2m0s" | Temps d’espera d’inactivitat específic de fluxos SIP TCP. |
voip.tcp_opening_timeout | duration | "5m0s" | Temps d’espera de connexions TCP en estat d’obertura. |
voip.tcp_established_timeout | duration | "30m0s" | Temps d’espera de connexions TCP establertes. |
voip.tcp_closing_timeout | duration | "5m0s" | Temps d’espera de connexions TCP en estat de tancament. |
voip.tcp_cleanup_interval | duration | "1m0s" | Interval de neteja de recursos TCP. |
voip.tcp_latency_optimization | boolean | false | Activa el processament TCP de baixa latència (augmenta l’ús de CPU). |
voip.stream_queue_buffer | integer | 500 | Mida de la memòria intermèdia de la cua de processament de fluxos TCP. |
voip.enable_state_tcp_timeouts | boolean | false | Activa temps d’espera TCP segons l’estat (diferents temps per estat de connexió). |
Control de flux
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.enable_backpressure | boolean | true | Activa la contrapressió quan el processament no segueix la taxa de captura. |
voip.enable_auto_tuning | boolean | true | Ajusta automàticament els paràmetres interns segons els patrons de trànsit. |
voip.enable_call_aware_timeout | boolean | false | Utilitza temps d’espera que tenen en compte les trucades i s’allarguen durant les trucades actives. |
voip.memory_optimization | boolean | false | Activa l’optimització agressiva de memòria (pot reduir el cabal). |
Acceleració GPU
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.gpu_enable | boolean | true | Activa l’acceleració GPU per a la cerca de patrons. Recorre a la CPU si no hi ha GPU disponible. |
voip.gpu_backend | string | "auto" | Motor GPU: "auto", "cuda", "opencl", "cpu-simd" o "disabled". |
voip.gpu_batch_size | integer | 1024 | Nombre de paquets per lot de processament GPU. |
voip.gpu_max_memory | integer | 0 | Memòria GPU màxima en bytes (0 = il·limitat). |
Mètriques i supervisió
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
voip.metrics_enabled | boolean | false | Activa la recollida de mètriques. |
voip.monitoring_enabled | boolean | false | Activa la supervisió durant l’execució. |
voip.monitoring_update_interval | duration | "30s" | Interval d’actualització de mètriques de supervisió. |
voip.enable_runtime_metrics | boolean | true | Recull mètriques del sistema d’execució de Go. |
voip.enable_system_metrics | boolean | false | Recull mètriques del sistema (CPU, memòria, disc). |
voip.tracing_enabled | boolean | false | Activa el seguiment distribuït. |
Configuració de nodes
hunter — Node Hunter
Els nodes Hunter capturen paquets a la perifèria de la xarxa i els transmeten a un processador. Consulteu captura perifèrica amb lc hunt per a l’ús.
Configuració bàsica
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.id | string | "" | Identificador del node Hunter. Es genera automàticament a partir del nom d’amfitrió si és buit. |
hunter.hunter_id | string | "" | Àlies de hunter.id. |
hunter.processor_addr | string | "" | Adreça del processador al qual connectar-se (p. ex., "processor:55555"). |
hunter.interfaces | list | ["any"] | Interfícies de xarxa on capturar. |
hunter.bpf_filter | string | "" | Expressió de filtre BPF per al filtratge de paquets al nucli. Consulteu la referència de filtres BPF. |
hunter.buffer_size | integer | 10000 | Mida de la memòria intermèdia interna de paquets (nombre de paquets). |
hunter.sip_buffer_size | integer | 0 | Capacitat de la via prioritària SIP; 0 coincideix automàticament amb hunter.buffer_size. |
hunter.batch_size | integer | 64 | Nombre de paquets per lot gRPC al processador. |
hunter.batch_timeout_ms | integer | 100 | Temps màxim d’espera en ms abans d’enviar un lot incomplet. |
hunter.batch_queue_size | integer | 0 | Mida de la cua d’enviament de lots (0 = per defecte). |
hunter.no_filter_policy | string | "deny" | Comportament quan no hi ha filtres del processador configurats: "allow" transmet tots els paquets, "deny" no en transmet cap. |
hunter.forward_mode | string | "packets" | Representació cap a l’amunt: "packets" o "events". |
hunter.events.fallback_to_packets | boolean | false | Permet explícitament recórrer a paquets quan falla la negociació d’esdeveniments. |
hunter.events.delivery_profile | string | "reliable" | Transmissió d’esdeveniments: "reliable" o "memory-only". |
hunter.events.spool.dir | string | "/var/tmp/lippycat-event-spool" | Directori de la cua persistent recuperable d’esdeveniments. |
hunter.events.spool.max_bytes | integer | 1073741824 | Límit de bytes de la cua persistent (0 = il·limitat). |
hunter.events.spool.max_age | duration | "24h" | Límit d’antiguitat de la cua persistent (0 = il·limitat). |
hunter.events.spool.exhaustion_policy | string | "drop_oldest" | "drop_oldest" o "drop_new"; s’informa de les pèrdues. |
hunter.debug_listen | string | "" | Adreça opcional d’escolta HTTP de depuració pprof. Només de bucle local tret que hunter.debug_allow_non_loopback sigui true. |
hunter.debug_allow_non_loopback | boolean | false | Permet vincular l’escolta pprof a adreces que no són de bucle local. |
TLS del node Hunter
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.tls.cert_file | string | "" | Camí del certificat TLS del client (per a mTLS). |
hunter.tls.key_file | string | "" | Camí de la clau privada TLS del client. |
hunter.tls.ca_file | string | "" | Camí del certificat CA per verificar el processador. |
hunter.tls.skip_verify | boolean | false | Omet la verificació del certificat TLS (insegur, només per a proves). |
hunter.tls.ports | string | "443" | Ports TLS per a la detecció de protocols. |
hunter.insecure | boolean | false | Desactiva TLS per a proves locals. Bloquejat quan LIPPYCAT_PRODUCTION=true. |
Filtres de protocol del node Hunter
Els nodes Hunter admeten subordres específiques de protocol (lc hunt dns, lc hunt voip, etc.) amb opcions de filtre dedicades. lc hunt radius utilitza, en canvi, les opcions RADIUS compartides, de manera que sniff, hunt i tap poden reutilitzar els mateixos criteris i política de correlació:
hunter.dns — Filtratge DNS:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.dns.ports | string | "53" | Ports DNS. |
hunter.dns.udp_only | boolean | false | Captura DNS només UDP. |
hunter.http — Filtratge HTTP:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.http.ports | string | "80,8080,8000,3000,8888" | Ports HTTP. |
hunter.http.capture_body | boolean | false | Captura el cos HTTP. |
hunter.http.max_body_size | integer | 65536 | Mida màxima del cos en bytes. |
hunter.http.host | string | "" | Patró de filtre d’amfitrió. |
hunter.http.path | string | "" | Patró de filtre de camí. |
hunter.http.method | string | "" | Filtre de mètode HTTP. |
hunter.http.status | string | "" | Filtre de codi d’estat. |
hunter.http.keywords | string | "" | Paraules clau de contingut. |
hunter.http.tls_keylog | string | "" | Camí del fitxer de registre de claus TLS. |
hunter.http.tls_keylog_pipe | string | "" | Camí de la canonada de registre de claus TLS. |
hunter.email — Filtratge de correu:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.email.smtp_ports | string | "25,587,465" | Ports SMTP. |
hunter.email.imap_ports | string | "143,993" | Ports IMAP. |
hunter.email.pop3_ports | string | "110,995" | Ports POP3. |
hunter.email.protocol | string | "all" | Filtre de protocol. |
hunter.email.capture_body | boolean | false | Captura el cos del correu. |
hunter.email.max_body_size | integer | 65536 | Mida màxima del cos. |
hunter.email.sender | string | "" | Filtre de remitent. |
hunter.email.recipient | string | "" | Filtre de destinatari. |
hunter.email.subject | string | "" | Filtre d’assumpte. |
hunter.email.mailbox | string | "" | Filtre de bústia. |
hunter.email.command | string | "" | Filtre d’ordre. |
hunter.email.keywords | string | "" | Paraules clau de contingut. |
hunter.voip — Filtratge VoIP:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.voip.sip_ports | string | "" | Ports SIP. |
hunter.voip.rtp_port_ranges | string | "" | Intervals de ports RTP. |
hunter.voip.udp_only | boolean | false | Captura VoIP només UDP. |
hunter.voip_filter — Filtratge VoIP accelerat per GPU:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.voip_filter.enabled | boolean | false | Activa el filtratge VoIP accelerat per GPU a la perifèria. |
hunter.voip_filter.gpu_backend | string | "auto" | Motor GPU per al filtratge perifèric. |
hunter.voip_filter.gpu_batch_size | integer | 100 | Mida del lot per al processament del filtre GPU. |
Memòria intermèdia en disc
Quan s’interromp la connexió amb el processador, el node Hunter pot mantenir paquets en memòria intermèdia al disc:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
hunter.disk_buffer.enabled | boolean | false | Activa la memòria intermèdia en disc per a interrupcions de xarxa. |
hunter.disk_buffer.dir | string | "/var/tmp/lippycat-buffer" | Directori dels fitxers de memòria intermèdia en disc. |
hunter.disk_buffer.max_mb | integer | 1024 | Mida màxima de la memòria intermèdia en disc en MB. |
processor — Node processador
Els nodes processadors reben paquets dels nodes Hunter, fan anàlisi, escriuen PCAP i serveixen clients TUI. Consulteu agregació central amb lc process per a l’ús.
Configuració bàsica
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.id | string | "" | Identificador del processador. Es genera automàticament a partir del nom d’amfitrió si és buit. |
processor.processor_id | string | "" | Àlies de processor.id. |
processor.listen_addr | string | ":55555" | Adreça d’escolta de connexions Hunter i TUI. |
processor.processor_addr | string | "" | Adreça d’un processador ascendent per a transmissió jeràrquica. |
processor.upstream_addr | string | "" | Àlies de processor.processor_addr. |
processor.forward_mode | string | "packets" | Representació cap a l’amunt: "packets" o "events" normalitzats. |
processor.events.fallback_to_packets | boolean | false | Permet explícitament recórrer de manera visible a paquets després de fallar la negociació d’esdeveniments. |
processor.events.delivery_profile | string | "reliable" | Transmissió d’esdeveniments cap a l’amunt: "reliable" o "memory-only". |
processor.events.spool.dir | string | "/var/tmp/lippycat-processor-event-spool" | Arrel recuperable de cues persistents d’esdeveniments cap a l’amunt per productor. |
processor.events.spool.max_bytes | integer | 1073741824 | Límit lògic de bytes de la cua persistent d’esdeveniments (0 = il·limitat). |
processor.events.spool.max_age | duration | "24h" | Antiguitat màxima dels lots d’esdeveniments retinguts (0 = il·limitat). |
processor.events.spool.exhaustion_policy | string | "drop_oldest" | Política d’esgotament de la cua persistent d’esdeveniments: "drop_oldest" o "drop_new". |
processor.max_hunters | integer | 100 | Màxim de connexions Hunter simultànies (0 = il·limitat). |
processor.max_subscribers | integer | 100 | Màxim de connexions de subscriptors TUI (0 = il·limitat). |
processor.events.allow_sensitive_fields | boolean | false | Permet que subscriptors autoritzats d’esdeveniments sol·licitin camps sensibles HTTP, SMTP i de fitxers. |
processor.events.allow_file_metadata | boolean | false | Permet que subscriptors autoritzats d’esdeveniments sol·licitin metadades de fitxers; el contingut dels fitxers mai no s’exposa. |
processor.display_stats | boolean | true | Mostra estadístiques periòdiques a stdout. |
processor.enable_detection | boolean | true | Activa la detecció de protocols en els paquets rebuts. |
processor.events.ingress.profile | string | "memory-only" | Perfil de confirmació d’esdeveniments: "memory-only" o "reliable". |
processor.events.ingress.wal_dir | string | "" | Directori WAL recuperable d’entrada d’esdeveniments; obligatori per a entrada fiable. |
processor.events.ingress.wal_max_bytes | integer | 1073741824 | Mida màxima del WAL d’entrada d’esdeveniments. |
processor.events.ingress.max_batch_bytes | integer | 4194304 | Mida màxima del lot d’esdeveniments serialitzat acceptat; mínim 4194304 per compatibilitat amb emissors persistents. |
processor.filter_file | string | "" | Camí explícit de la instantània de filtres gestionada; consulteu emmagatzematge gestionat. |
processor.write_file | string | "" | Camí de la sortida PCAP unificada (tot el trànsit en un fitxer). |
processor.command_concurrency | integer | 10 | Màxim d’execucions simultànies d’ordres associades. |
processor.command_timeout | duration | "30s" | Temps d’espera d’execució d’ordres associades. |
processor.debug_listen | string | "" | Adreça opcional d’escolta HTTP de depuració pprof. Només de bucle local tret que processor.debug_allow_non_loopback sigui true. |
processor.debug_allow_non_loopback | boolean | false | Permet vincular l’escolta pprof a adreces que no són de bucle local. |
TLS del processador
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.tls.cert_file | string | "" | Camí del certificat TLS del servidor. |
processor.tls.key_file | string | "" | Camí de la clau privada TLS del servidor. |
processor.tls.ca_file | string | "" | Camí del certificat CA per verificar clients (mTLS). |
processor.tls.client_auth | boolean | false | Exigeix certificats de client (TLS mutu). |
processor.insecure | boolean | false | Desactiva TLS per a proves locals. Bloquejat quan LIPPYCAT_PRODUCTION=true. |
TLS està activat per defecte tret que processor.insecure sigui true. Proporcioneu processor.tls.cert_file i processor.tls.key_file per servir amb xifratge.
PCAP per trucada (VoIP)
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.per_call_pcap.enabled | boolean | false | Escriu fitxers PCAP separats per trucada VoIP. |
processor.per_call_pcap.output_dir | string | "./pcaps" | Directori de fitxers PCAP per trucada. |
processor.per_call_pcap.file_pattern | string | "{timestamp}_{callid}.pcap" | Patró de nom de fitxer. Marcadors: {timestamp}, {callid}. |
processor.per_call_pcap.max_idle | duration | "10m" | Tanca els escriptors PCAP per trucada inactius després d’aquesta durada (0 desactiva el tancament per inactivitat). |
processor.per_call_pcap.max_writers | integer | 0 | Llindar flexible de pressió d’escriptors actius (0 = desactivat). Les trucades actives es preserven per sobre del llindar. |
processor.per_call_pcap.closed_call_ttl | duration | "1h" | Suprimeix el tractament duplicat de tancament de trucades completades durant aquesta durada. |
PCAP amb rotació automàtica
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.auto_rotate_pcap.enabled | boolean | false | Activa la rotació automàtica de fitxers PCAP. |
processor.auto_rotate_pcap.output_dir | string | "./auto-rotate-pcaps" | Directori de fitxers PCAP amb rotació. |
processor.auto_rotate_pcap.file_pattern | string | "{timestamp}.pcap" | Patró de nom de fitxer. Marcador: {timestamp}. |
processor.auto_rotate_pcap.max_size | string | "100M" | Mida màxima de fitxer abans de la rotació (p. ex., "100M", "1G"). |
processor.auto_rotate_pcap.idle_timeout | duration | "30s" | Temps sense paquets abans de rotar el fitxer actual. |
Accions d’ordres
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.pcap_command | string | "" | Ordre que s’executa quan es completa un fitxer PCAP per trucada. Marcador: %pcap% se substitueix pel camí del fitxer. |
processor.voip_command | string | "" | Ordre que s’executa quan acaba una trucada VoIP. Marcadors: %callid%, %dirname%. |
processor.tunneling_command | string | "" | Ordre que s’executa quan es detecten túnels DNS. |
processor.tunneling_threshold | float | 0.7 | Llindar de puntuació de túnels DNS per a processor.tunneling_command. |
processor.tunneling_debounce | duration | "5m" | Temps mínim entre execucions d’ordres de túnels DNS per domini. |
Interfície virtual
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.virtual_interface | boolean | false | Crea una interfície de xarxa virtual per reproduir paquets rebuts. |
processor.vif_type | string | "tap" | Tipus d’interfície virtual: "tap" o "tun". |
processor.vif_name | string | "lc0" | Nom de la interfície virtual. |
processor.vif_buffer_size | integer | 65536 | Mida de la memòria intermèdia de la interfície virtual. |
processor.vif_drop_privileges | string | "" | Usuari al qual reduir privilegis després de crear la interfície virtual. |
processor.vif_netns | string | "" | Espai de noms de xarxa de la interfície virtual. |
Registre de claus TLS
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.tls_keylog.output_dir | string | "" | Directori de fitxers de registre de claus TLS rebuts dels nodes Hunter. |
Intercepció legal (LI)
Aquestes opcions requereixen l’etiqueta de compilació li. Consulteu intercepció legal per a més informació. Quan processor.li.enabled és true, cal configurar l’adreça d’escolta X1, el certificat, la clau i la CA del client. El processador o Tap surt durant l’inici si en falta algun.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
processor.li.enabled | boolean | false | Activa el suport d’intercepció legal. |
processor.li.x1_listen_addr | string | ":8443" | Adreça d’escolta de la interfície X1 (ADMF). |
processor.li.x1_tls_cert | string | "" | Certificat TLS del servidor X1. |
processor.li.x1_tls_key | string | "" | Clau privada TLS del servidor X1. |
processor.li.x1_tls_ca | string | "" | Obligatori quan LI està activada. Certificat CA per verificar clients ADMF. |
processor.li.admf_endpoint | string | "" | Extrem ADMF per al registre X1. |
processor.li.admf_keepalive | duration | "30s" | Interval keepalive ADMF. |
processor.li.admf_tls_cert | string | "" | Certificat TLS per a la connexió ADMF. |
processor.li.admf_tls_key | string | "" | Clau privada TLS per a la connexió ADMF. |
processor.li.admf_tls_ca | string | "" | Certificat CA per verificar ADMF. |
processor.li.admf_sync_on_startup | boolean | true | Consulta l’estat de tasques/destinacions a ADMF a l’inici. |
processor.li.admf_sync_timeout | duration | "30s" | Temps d’espera de la petició de sincronització d’estat a l’inici. |
processor.li.admf_reconcile_interval | duration | "5m" | Interval periòdic de reconciliació ADMF (0 = desactivat). |
processor.li.delivery_tls_cert | string | "" | Certificat TLS per a connexions de lliurament X2/X3. |
processor.li.delivery_tls_key | string | "" | Clau privada TLS per al lliurament X2/X3. |
processor.li.delivery_tls_ca | string | "" | Certificat CA per verificar MDF. |
processor.li.delivery_tls_pinned_cert | list | [] | Certificats fixats per a connexions MDF. |
tap — Node Tap
Tap combina captura local amb capacitats de processador. Consulteu mode autònom amb lc tap per a l’ús. Tap comparteix moltes opcions amb hunter i processor.
Configuració bàsica
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.id | string | "" | Identificador del node Tap. |
tap.tap_id | string | "" | Àlies de tap.id. |
tap.interfaces | list | ["any"] | Interfícies de xarxa on capturar. |
tap.bpf_filter | string | "" | Expressió de filtre BPF. |
tap.buffer_size | integer | 10000 | Mida de la memòria intermèdia interna de paquets. |
tap.sip_buffer_size | integer | 0 | Capacitat de la via prioritària SIP; 0 coincideix automàticament amb tap.buffer_size. |
tap.batch_size | integer | 100 | Mida de lot de paquets per al processament intern. |
tap.batch_timeout_ms | integer | 100 | Temps d’espera de lot en mil·lisegons. |
tap.promiscuous | boolean | false | Mode promiscu de les interfícies de captura. |
tap.enable_detection | boolean | true | Activa la detecció de protocols. |
tap.filter_file | string | "" | Camí explícit de la instantània de filtres gestionada; consulteu emmagatzematge gestionat. |
tap.write_file | string | "" | Camí de la sortida PCAP unificada. |
tap.command_concurrency | integer | 10 | Màxim d’execucions simultànies d’ordres associades. |
tap.command_timeout | duration | "30s" | Temps d’espera d’ordres associades. |
tap.no_filter_policy | string | "deny" | Comportament quan no hi ha filtres configurats: "allow" captura tots els paquets coincidents, "deny" no en captura cap. |
tap.debug_listen | string | "" | Adreça opcional d’escolta HTTP de depuració pprof. Només de bucle local tret que tap.debug_allow_non_loopback sigui true. |
tap.debug_allow_non_loopback | boolean | false | Permet vincular l’escolta pprof a adreces que no són de bucle local. |
TLS i servei de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.listen_addr | string | ":55555" | Adreça d’escolta de connexions de clients Hunter i TUI. |
tap.max_hunters | integer | 0 | Màxim de connexions Hunter (0 = il·limitat). |
tap.max_subscribers | integer | 100 | Màxim de connexions de subscriptors TUI (0 = il·limitat). |
tap.events.allow_sensitive_fields | boolean | false | Permet que subscriptors autoritzats sol·licitin camps sensibles HTTP, SMTP i de fitxers. |
tap.events.allow_file_metadata | boolean | false | Permet que subscriptors autoritzats sol·licitin metadades de fitxers; el contingut dels fitxers mai no s’exposa. |
tap.events.ingress.profile | string | "memory-only" | Perfil de confirmació d’entrada d’esdeveniments de nodes descendents: "memory-only" o "reliable". |
tap.events.ingress.wal_dir | string | "" | Directori WAL recuperable d’entrada d’esdeveniments; obligatori per a entrada fiable. |
tap.events.ingress.wal_max_bytes | integer | 1073741824 | Mida màxima del WAL d’entrada d’esdeveniments. |
tap.events.ingress.max_batch_bytes | integer | 4194304 | Mida màxima del lot d’esdeveniments serialitzat acceptat; mínim 4194304 per compatibilitat amb emissors persistents. |
tap.tls.cert_file | string | "" | Certificat TLS del servidor. |
tap.tls.key_file | string | "" | Clau privada TLS del servidor. |
tap.tls.ca_file | string | "" | Certificat CA per verificar clients. |
tap.tls.client_auth | boolean | false | Exigeix certificats de client. |
tap.insecure | boolean | false | Desactiva TLS per a proves locals. Bloquejat quan LIPPYCAT_PRODUCTION=true. |
TLS està activat per defecte tret que tap.insecure sigui true. Proporcioneu tap.tls.cert_file i tap.tls.key_file per servir amb xifratge.
Transmissió de Tap cap a l’amunt
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.processor_addr | string | "" | Adreça del processador ascendent per transmetre paquets capturats. |
tap.upstream_addr | string | "" | Àlies de tap.processor_addr. |
tap.forward_mode | string | "packets" | Representació cap a l’amunt: "packets" o "events". |
tap.events.fallback_to_packets | boolean | false | Permet explícitament recórrer a paquets després de fallar la negociació d’esdeveniments. |
tap.events.delivery_profile | string | "reliable" | Transmissió d’esdeveniments cap a l’amunt: "reliable" o "memory-only". |
tap.events.spool.dir | string | "/var/tmp/lippycat-tap-event-spool" | Directori de la cua persistent recuperable d’esdeveniments cap a l’amunt. |
tap.events.spool.max_bytes | integer | 1073741824 | Límit de bytes de la cua persistent d’esdeveniments cap a l’amunt (0 = il·limitat). |
tap.events.spool.max_age | duration | "24h" | Límit d’antiguitat de la cua persistent d’esdeveniments cap a l’amunt (0 = il·limitat). |
tap.events.spool.exhaustion_policy | string | "drop_oldest" | Comportament d’esgotament de la cua persistent cap a l’amunt. |
PCAP per trucada de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.per_call_pcap.enabled | boolean | false | Escriu fitxers PCAP separats per trucada VoIP. |
tap.per_call_pcap.output_dir | string | "./pcaps" | Directori de fitxers PCAP per trucada. |
tap.per_call_pcap.file_pattern | string | "{timestamp}_{callid}.pcap" | Patró de nom de fitxer. |
tap.per_call_pcap.max_idle | duration | "10m" | Tanca els escriptors PCAP per trucada inactius després d’aquesta durada (0 desactiva el tancament per inactivitat). |
tap.per_call_pcap.max_writers | integer | 0 | Llindar flexible de pressió d’escriptors actius (0 = desactivat). Les trucades actives es preserven per sobre del llindar. |
tap.per_call_pcap.closed_call_ttl | duration | "1h" | Suprimeix el tractament duplicat de tancament de trucades completades durant aquesta durada. |
PCAP amb rotació automàtica de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.auto_rotate_pcap.enabled | boolean | false | Activa la rotació de fitxers PCAP. |
tap.auto_rotate_pcap.output_dir | string | "./auto-rotate-pcaps" | Directori de fitxers amb rotació. |
tap.auto_rotate_pcap.file_pattern | string | "{timestamp}.pcap" | Patró de nom de fitxer. |
tap.auto_rotate_pcap.max_size | string | "100M" | Mida màxima de fitxer abans de la rotació. |
tap.auto_rotate_pcap.idle_timeout | duration | "30s" | Temps d’espera d’inactivitat abans de la rotació. |
Ordres associades de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.pcap_command | string | "" | Ordre en completar un PCAP. Marcador: %pcap%. |
tap.voip_command | string | "" | Ordre en finalitzar una trucada. Marcadors: %callid%, %dirname%. |
Interfície virtual de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.virtual_interface | boolean | false | Crea una interfície de xarxa virtual. |
tap.vif_type | string | "tap" | Tipus d’interfície virtual. |
tap.vif_name | string | "lc0" | Nom de la interfície virtual. |
tap.vif_buffer_size | integer | 65536 | Mida de la memòria intermèdia de la interfície virtual. |
tap.vif_drop_privileges | string | "" | Usuari al qual reduir privilegis. |
tap.vif_netns | string | "" | Espai de noms de xarxa. |
Lliurament de metadades LI de Tap
Aquestes opcions requereixen l’etiqueta de compilació li. Tap admet la mateixa configuració de lliurament X1 i X2/X3 que el processador; aquestes claus controlen específicament les metadades normalitzades de protocols.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|
Filtres de protocol de Tap
Tap admet les mateixes subordres específiques de protocol que Hunter. Les claus de configuració reprodueixen les opcions de filtre de protocol de Hunter. lc tap radius utilitza les opcions RADIUS compartides:
tap.dns:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.dns.ports | string | "53" | Ports DNS. |
tap.dns.udp_only | boolean | false | Captura DNS només UDP. |
tap.dns.domain_pattern | string | "" | Patró de filtre de domini. |
tap.dns.domains_file | string | "" | Fitxer de patrons de domini. |
tap.dns.detect_tunneling | boolean | true | Activa la detecció de túnels DNS. |
tap.dns.tunneling_command | string | "" | Ordre que s’executa quan es detecten túnels DNS. |
tap.dns.tunneling_threshold | float | 0.7 | Llindar de puntuació de túnels DNS per executar ordres. |
tap.dns.tunneling_debounce | duration | "5m" | Temps mínim entre execucions d’ordres de túnels DNS per domini. |
tap.voip:
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.voip.sip_ports | string | "" | Ports SIP. |
tap.voip.sip_user | string | "" | Filtra per usuari SIP. |
tap.voip.sipuser | string | "" | Àlies de tap.voip.sip_user. |
tap.voip.rtp_port_ranges | string | "" | Intervals de ports RTP. |
tap.voip.udp_only | boolean | false | Captura VoIP antiga només UDP. L’indicador CLI està ocult i obsolet; preferiu tap.voip.sip_ports i tap.voip.rtp_port_ranges. |
tap.voip.tcp_performance_mode | string | "balanced" | Perfil de rendiment TCP per a VoIP de Tap. |
tap.voip.tcp_reassembly_shards | integer | 1 | Nombre de reassembladors TCP dividits per flux. Totes dues direccions d’una connexió romanen al mateix fragment. Els valors superiors a un són opcionals i s’han de sotmetre a proves de rendiment. |
tap.voip.pattern_algorithm | string | "auto" | Algorisme de cerca de patrons: "auto", "linear" o "aho-corasick". |
tap.voip.pattern_buffer_mb | integer | 64 | Memòria intermèdia de patrons en MB. |
Registre de claus TLS de Tap
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.tls_keylog.output_dir | string | "" | Directori de claus de sessió TLS rebudes de les vies de captura locals, en format de registre de claus NSS. |
Acceleració de filtres VoIP de Tap
Aquestes claus estan disponibles en compilacions CUDA.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
tap.voip_filter.enabled | boolean | false | Activa el filtratge VoIP accelerat per GPU. |
tap.voip_filter.gpu_backend | string | "auto" | Motor GPU: "auto", "cuda", "opencl" o "cpu-simd". |
tap.voip_filter.gpu_batch_size | integer | 100 | Mida del lot per al processament del filtre GPU. |
Tap també admet els apartats tap.http i tap.email amb les mateixes claus que hunter.http i hunter.email, respectivament.
Opcions específiques d’ordre
sniff — Ordre sniff
Opcions de lc sniff. Consulteu captura CLI amb lc sniff.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
sniff.format | string | "json" | Format de sortida: "json" o "text". |
sniff.quiet | boolean | false | Suprimeix la sortida que no correspon a paquets. |
sniff.virtual_interface | boolean | false | Reprodueix paquets capturats en una interfície virtual. |
sniff.vif_type | string | "tap" | Tipus d’interfície virtual. |
sniff.vif_name | string | "lc0" | Nom de la interfície virtual. |
sniff.vif_buffer_size | integer | 65536 | Mida de la memòria intermèdia de la interfície virtual. |
sniff.vif_drop_privileges | string | "" | Usuari al qual reduir privilegis. |
sniff.vif_netns | string | "" | Espai de noms de xarxa. |
sniff.vif_replay_timing | boolean | false | Manté la temporització original dels paquets durant la reproducció. |
sniff.vif_startup_delay | duration | "3s" | Retard abans d’iniciar la reproducció (permet configurar la interfície). |
watch — Configuració de watch (TUI)
Opcions de lc watch. Consulteu captura interactiva amb lc watch.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
watch.buffer_size | integer | 10000 | Capacitat de l’anell de paquets en viu/remots i dels esdeveniments retinguts; no limita la completesa dels paquets fora de línia. |
watch.offline.backing_policy | string | source | Fixada en cada obertura: descriptors originals sota control (source) o còpies privades validades (snapshot); indicador --offline-backing-policy. |
watch.offline.session_dir | string | Directori temporal del sistema operatiu | Directori pare existent i escrivible per a sessions temporals privades fora de línia; indicador --offline-session-dir. |
watch.offline.max_disk_bytes | integer | 4294967296 (4 GiB) | Pressupost positiu de disc combinat d’ordenació/conjunt de dades/consultes, incloses les sessions actuals i de substitució; indicador --offline-max-disk-bytes. |
watch.offline.cache_bytes | integer | 67108864 (64 MiB) | Pressupost positiu de cau, detalls seleccionats, precàrrega i lectures en curs; no és un límit de RSS del procés; indicador --offline-cache-bytes. |
watch.offline.max_record_bytes | integer | 8388608 (8 MiB) | Mida màxima positiva del registre de paquet codificat, no superior als pressupostos de cau o disc; indicador --offline-max-record-bytes. |
watch.offline.max_sources | integer | 64 | Fitxers d’origen simultanis fora de línia, 1–64; indicador --offline-max-sources. |
watch.max_calls | integer | 5000 | Màxim de trucades VoIP que es mantenen en memòria. |
watch.file.tls_keylog | string | "" | Fitxer de registre de claus TLS per analitzar fitxers PCAP. |
watch.tls_decryption_enabled | boolean | false | Activa el desxifratge TLS a la TUI (establert automàticament). |
watch.tls_keylog | string | "" | Camí de SSLKEYLOGFILE per al desxifratge TLS. |
watch.tls.enabled | boolean | false | Activa TLS per a connexions remotes. |
watch.tls.ca_file | string | "" | Certificat CA per verificar el servidor. |
watch.tls.cert_file | string | "" | Certificat de client per a mTLS. |
watch.tls.key_file | string | "" | Clau del client per a mTLS. |
watch.tls.skip_verify | boolean | false | Omet la verificació del certificat TLS (insegur). |
watch.tls.server_name_override | string | "" | Sobreescriu el nom del servidor per a la verificació TLS. |
watch.gpu.enabled | boolean | false | Activa l’acceleració GPU en mode TUI. |
watch.gpu.backend | string | "auto" | Motor GPU per a la TUI. |
watch.gpu.batch_size | integer | 100 | Mida del lot GPU. |
watch.nodes_highlighting | string | normal | Indicacions de canvi de Nodes remots: normal utilitza ressaltats temporals; quiet manté el text i l’estat sense ressaltats. |
watch.node_history | list | [] | Historial de nodes remots connectats anteriorment (gestionat automàticament). |
watch.filter_history | list | [] | Historial de cadenes de filtre de paquets (gestionat automàticament). |
watch.call_filter_history | list | [] | Historial de cadenes de filtre de trucades (gestionat automàticament). |
Configuració de connexió remota
remote — Connexió TUI remota
Opcions per connectar lc watch remote a un node processador o Tap. Consulteu supervisió TUI remota.
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
remote.processor | string | "" | Adreça del processador al qual connectar-se. |
remote.insecure | boolean | false | Connecta sense TLS (bloquejat quan LIPPYCAT_PRODUCTION=true). |
remote.tls.cert | string | "" | Certificat TLS del client (per a mTLS). |
remote.tls.key | string | "" | Clau privada TLS del client. |
remote.tls.ca | string | "" | Certificat CA per verificar el servidor. |
remote.tls.skip_verify | boolean | false | Omet la verificació del certificat TLS. |
Configuració de seguretat
security — Seguretat API
| Tecla | Tipus | Valor per defecte | Descripció |
|---|---|---|---|
security.api_keys.enabled | boolean | false | Activa l’autenticació amb clau API per a connexions gRPC. |
security.api_keys.keys | list | [] | Claus API configurades. Cada entrada inclou key, name, role i description opcional. Els clients envien la clau com a metadada gRPC x-api-key. |
Exemples de fitxers de configuració
Mínim: captura VoIP local
Una configuració senzilla per capturar trànsit VoIP en una sola màquina:
voip:
sip_ports: "5060"
rtp_port_ranges: "10000-20000"
Utilitzeu-la amb: sudo lc sniff voip -i eth0 o sudo lc tap voip -i eth0 --insecure
Producció: desplegament distribuït
Un node processador en un desplegament distribuït de producció amb TLS, PCAP per trucada i ordres associades:
processor:
listen_addr: ":55555"
tls:
enabled: true
cert_file: "/etc/lippycat/certs/server.crt"
key_file: "/etc/lippycat/certs/server.key"
ca_file: "/etc/lippycat/certs/ca.crt"
client_auth: true
per_call_pcap:
enabled: true
output_dir: "/var/capture/calls"
file_pattern: "{timestamp}_{callid}.pcap"
auto_rotate_pcap:
enabled: true
output_dir: "/var/capture/continuous"
max_size: "1G"
idle_timeout: "60s"
max_hunters: 50
max_subscribers: 20
filter_file: "/etc/lippycat/filters.yaml"
pcap_command: "gzip %pcap%"
voip_command: "/opt/scripts/process-call.sh %callid% %dirname%"
command_concurrency: 20
command_timeout: "60s"
Alt rendiment: node Hunter perifèric
Un node Hunter optimitzat per a captura VoIP d’alt cabal amb acceleració GPU:
hunter:
processor_addr: "processor.internal:55555"
interfaces:
- "eth0"
- "eth1"
tls:
enabled: true
ca_file: "/etc/lippycat/certs/ca.crt"
batch_size: 128
buffer_size: 50000
voip_filter:
enabled: true
gpu_backend: "cuda"
disk_buffer:
enabled: true
dir: "/var/tmp/lippycat-buffer"
max_mb: 2048
voip:
tcp_performance_mode: "throughput"
sip_ports: "5060"
rtp_port_ranges: "10000-20000"
gpu_enable: true
gpu_backend: "cuda"
gpu_batch_size: 2048
pcap_buffer_size: 67108864
promiscuous: true
Per a més informació sobre l’ajust de rendiment, consulteu optimització del rendiment. Per configurar certificats TLS, consulteu seguretat.
Admissió de mitjans VoIP eBPF
L’optimització opcional de captura Linux es configura sota hunter.voip.rtp_ebpf i tap.voip.rtp_ebpf. Només enabled: true l’activa; establir únicament mode o failure_policy no ho fa.
shadow_sample_every té el valor per defecte 1 i ha de ser positiu. Mostreja aproximadament una de cada N identitats de trama amb la mateixa regla d’elegibilitat al nucli i a l’espai d’usuari; les còpies idèntiques comparteixen elegibilitat i es compta cada còpia elegible. L’opció no activa l’admissió. Els resultats mostrejats i les categories de pèrdua d’evidència romanen separats dels recomptes exactes de tot el trànsit.
| Membre | Valor per defecte | Finalitat |
|---|---|---|
enabled | false | Activació explícita per a captura VoIP en viu. |
mode | enforce | enforce o shadow diagnòstic. |
failure_policy | open | Comportament open o closed durant l’execució, limitat a l’àmbit. |
interface_domains | {} | Correspondència d’interfície a domini; les interfícies no assignades comparteixen zero. |
endpoint_capacity | 40000 | Extrems candidats instal·lats diferents. |
owner_capacity | 10000 | Propietaris elegibles durant la vida de la trucada. |
max_endpoints_per_owner | 32 | Extrems RTP acceptats i extrems RTCP separats per propietari. |
pending_dialog_capacity | 10000 | Registres retinguts de metadades de diàlegs sense coincidència. |
pending_endpoint_capacity | 40000 | Extrems retinguts de metadades. |
pending_bytes | 8388608 | Límit de comptabilització de metadades pendents. |
pending_ttl | 30s | Caducitat de metadades pendents. |
replay_window | 2m | Finestra de protecció de proves d’identitat retirades. |
replay_guard_capacity | 10000 | Límit compartit d’entrades exactes de proves retirades entre dominis. |
replay_guard_bytes | 2097152 | Límit compartit de comptabilització de proves retirades; 128 bytes per entrada. |
expiration_batch | 256 | Treball limitat de caducitat per recorregut. |
retry_interval | 1s | Interval de reconciliació. |
shadow_evidence_capacity | 1024 | Mostres diagnòstiques retingudes. |
missing_media_interval | 30s | Interval diagnòstic de trucades seleccionades/contestades sense mitjans. |
Calen límits de recursos i durades positius. Els dominis d’interfície són inferiors a 4096. El mateix domini ha de contenir la senyalització i els mitjans relacionats. Les restriccions explícites de captura continuen efectives durant l’admissió shadow i open en execució. Aquestes opcions no preserven l’RTP anterior a la coincidència. Consulteu captura selectiva de mitjans VoIP per al comportament i l’estat d’implementació.