I denne artikel vil vi tale om det grundlæggende i at fange og analysere SIP-trafik genereret af 3CX PBX. Artiklen henvender sig til uerfarne systemadministratorer eller almindelige brugere, hvis ansvar omfatter telefonivedligeholdelse. For en dybdegående undersøgelse af emnet anbefaler vi at gå igennem
3CX V16 giver dig mulighed for at fange SIP-trafik direkte gennem serverens webgrænseflade og gemme den i standard Wireshark PCAP-format. Du kan vedhæfte optagelsesfilen, når du kontakter teknisk support, eller downloade den til uafhængig analyse.
Hvis 3CX kører på Windows, skal du selv installere Wireshark på 3CX-serveren. Ellers vises følgende meddelelse, når du forsøger at optage.
På Linux-systemer installeres tcpdump-værktøjet automatisk, når 3CX installeres eller opdateres.
Opfangning af trafik
For at starte optagelsen skal du gå til grænsefladeafsnittet Hjem > SIP-hændelser og vælge den grænseflade, som du vil fange på. Du kan også fange trafik på alle grænseflader samtidigt, undtagen IPv6-tunnelgrænseflader.
I 3CX til Linux kan du fange trafik til lokal vært (lo). Denne optagelse bruges til at analysere SIP-klientforbindelser ved hjælp af teknologi
Traffic Capture-knappen starter Wireshark på Windows eller tcpdump på Linux. På dette tidspunkt skal du hurtigt genskabe problemet, fordi... capture er CPU-intensiv og optager en del diskplads.
Vær opmærksom på følgende opkaldsparametre:
- Det nummer, der blev ringet fra, som andre numre/deltagere i opkaldet også ringede til.
- Det nøjagtige tidspunkt, hvor problemet opstod i henhold til 3CX-serverens ur.
- Opkaldsrute.
Prøv ikke at klikke nogen steder i grænsefladen undtagen knappen "Stop". Du skal heller ikke klikke på andre links i dette browservindue. Ellers vil trafikregistrering fortsætte i baggrunden og vil resultere i yderligere belastning på serveren.
Modtagelse af en optagelsesfil
Stop-knappen stopper optagelsen og gemmer optagelsesfilen. Du kan downloade filen til din computer til analyse i Wireshark-værktøjet eller generere en speciel fil
På 3CX-serveren er filen placeret på følgende placering:
- Windows: C:ProgramData3CXInstance1DataLogsdump.pcap
- Linux: /var/lib/3cxpbx/Instance/Data/Logs/dump.pcap
For at undgå øget serverbelastning eller pakketab under capture er captureperioden begrænset til 2 millioner pakker. Herefter stopper optagelsen automatisk. Hvis du har brug for en længere optagelse, skal du bruge det separate Wireshark-værktøj som beskrevet nedenfor.
Fang trafik med Wireshark-værktøjet
Hvis du er interesseret i en dybere analyse af netværkstrafik, kan du fange den manuelt. Download Wireshark-værktøjet til dit OS
Vælg den grænseflade, der skal fanges, og klik på knappen Indstillinger. Fjern markeringen i Capture Traffic i promiskuøs tilstand, og lad resten af indstillingerne være uændrede.
Nu bør du genskabe problemet. Når problemet er gengivet, skal du stoppe optagelsen (Menu Capture > Stop). Du kan vælge SIP-beskeder i menuen Telefoni > SIP-flow.
Trafikanalyse Grundlæggende - SIP INVITE-meddelelse
Lad os se på hovedfelterne i SIP INVITE-meddelelsen, som sendes for at etablere et VoIP-opkald, dvs. er udgangspunktet for analysen. Typisk inkluderer SIP INVITE fra 4 til 6 felter med information, der bruges af SIP-slutenheder (telefoner, gateways) og teleoperatører. At forstå indholdet af INVITET og de meddelelser, der følger efter det, kan ofte hjælpe med at bestemme kilden til problemet. Derudover hjælper kendskab til INVITE-felterne, når du forbinder SIP-operatører til 3CX eller kombinerer 3CX med andre SIP-PBX'er.
I INVITE-meddelelsen identificeres brugere (eller SIP-enheder) af URI. Typisk er SIP URI brugerens telefonnummer + SIP-serveradresse. SIP URI'en minder meget om en e-mail-adresse og skrives som sip:x@y:Port.
Request-Line-URI:
Request-Line-URI - Feltet indeholder modtageren af opkaldet. Det indeholder de samme oplysninger som feltet Til, men uden brugerens visningsnavn.
via:
Via - hver SIP-server (proxy), som INVITE-anmodningen passerer igennem, tilføjer sin IP-adresse og den port, som beskeden blev modtaget på, øverst på Via-listen. Beskeden sendes derefter videre langs ruten. Når den endelige modtager svarer på INVITE-anmodningen, "slår" alle transitknudepunkter op i Via-headeren og returnerer beskeden til afsenderen ad samme rute. I dette tilfælde fjerner transit SIP-proxyen sine data fra headeren.
Fra:
Fra - overskriften angiver anmodningsinitiatoren fra SIP-serverens synspunkt. Headeren er dannet på samme måde som en e-mail-adresse (bruger@domæne, hvor bruger er 3CX-brugerens lokalnummer, og domæne er den lokale IP-adresse eller SIP-domæne på 3CX-serveren). Ligesom Til-overskriften indeholder Fra-overskriften en URI og eventuelt brugerens visningsnavn. Ved at se på Fra-headeren kan du forstå præcis, hvordan denne SIP-anmodning skal behandles.
SIP-standarden RFC 3261 foreskriver, at hvis visningsnavnet ikke transmitteres, skal IP-telefonen eller VoIP-gatewayen (UAC) bruge visningsnavnet "Anonym", f.eks. Fra: "Anonym"[e-mail beskyttet]>.
Til:
Til - Denne overskrift angiver modtageren af anmodningen. Dette kan enten være den endelige modtager af opkaldet eller et mellemled. Typisk indeholder overskriften SIP URI, men andre skemaer er mulige (se RFC 2806 [9]). SIP URI'er skal dog understøttes i alle implementeringer af SIP-protokollen, uanset hardwareproducenten. Til-overskriften kan også indeholde et vist navn, f.eks. Til: "Fornavn Efternavn"[e-mail beskyttet]>).
Til-feltet indeholder typisk en SIP-URI, der peger på den første (næste) SIP-proxy, der behandler anmodningen. Dette behøver ikke at være den endelige modtager af anmodningen.
Kontakt:
Kontakt - overskriften indeholder SIP URI'en, hvormed du kan kontakte afsenderen af INVITE-anmodningen. Dette er en påkrævet header og må kun indeholde én SIP URI. Det er en del af den tovejskommunikation, der svarer til den oprindelige SIP INVITE-anmodning. Det er meget vigtigt, at kontakthovedet indeholder de korrekte oplysninger (inklusive IP-adressen), som afsenderen af anmodningen forventer svar på. URI Contact bruges også i yderligere kommunikation, efter at kommunikationssessionen er etableret.
Tillade:
Tillad - feltet indeholder en liste over parametre (SIP-metoder), adskilt af kommaer. De beskriver, hvilke SIP-protokolfunktioner en given afsender (enhed) understøtter. Fuld liste over metoder: ACK, BYE, CANCEL, INFO, INVITER, NOTIFY, OPTIONS, PRACK, REFER, REGISTRER, SUBSCRIBE, UPDATE. SIP-metoder er beskrevet mere detaljeret
Kilde: www.habr.com