Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

У гэтым артыкуле мы пагаворым аб асновах захопу і аналізу SIP-трафіку, які генеруецца АТС 3CX. Артыкул адрасаваны пачаткоўцам сістэмным адміністратарам або звычайным карыстачам, у абавязкі якіх уваходзіць абслугоўванне тэлефаніі. Для паглыбленага вывучэння тэмы рэкамендуем прайсці Пашыраны навучальны курс 3CX.

3CX V16 дазваляе рабіць захоп SIP-трафіку непасрэдна праз вэб-інтэрфейс сервера і захоўваць у стандартным фармаце Wireshark PCAP. Вы можаце прымацаваць файл захопу пры звароце ў тэхпадтрымку або спампаваць для самастойнага аналізу.

Калі 3CX працуе на Windows, неабходна самастойна ўсталяваць Wireshark на сервер 3CX. У адваротным выпадку пры спробе захопу з'явіцца наступнае паведамленне.
Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

У Linux-сістэмах утыліта tcpdump усталёўваецца аўтаматычна пры ўсталёўцы або абнаўленні 3CX.

Захоп трафіку

Для пачатку захопу перайдзіце ў падзел інтэрфейсу Галоўная > Падзеі SIP і абярыце інтэрфейс, на якім варта зрабіць захоп. Таксама можна захопліваць трафік на ўсіх інтэрфейсах адначасова, акрамя інтэрфейсаў тунэлявання IPv6.

Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

У 3CX для Linux можна рабіць захоп трафіку для лакальнага хаста (lo). Гэты захоп выкарыстоўваецца для аналізу падлучэнняў SIP-кліентаў па тэхналогіі 3CX Tunnel і Session Border Controller.

Кнопка "Захоп трафіку" запускае Wireshark на Windows або tcpdump на Linux. У гэты момант трэба хутка прайграць праблему, т.я. захоп загружае працэсар і займае дастаткова месца на дыску.  
Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

Звяртайце ўвагу на наступныя параметры выкліку:

  • Нумар, з якога патэлефанавалі, на які патэлефанавалі і іншыя нумары/удзельнікі выкліку.
  • Дакладны час узнікнення праблемы па гадзінах сервера 3CX.
  • Маршрут праходжання выкліку.

Старайцеся не клікаць у іншых месцах інтэрфейсу, акрамя кнопкі "Спыніць". Таксама не пераходзіце па іншых спасылках у гэтым акне браўзэра. У адваротным выпадку, захоп трафіку будзе працягвацца ў фоне і прывядзе да дадатковай нагрузкі на сервер.

Атрыманне файла захопу

Кнопка "Спыніць" спыняе захоп і захоўвае файл захопу. Вы можаце спампаваць файл на свой кампутар для аналізу ва ўтыліце Wireshark або згенераваць спецыяльны файл тэхпадтрымкі, Які будзе ўключаць гэты захоп і іншую адладкавую інфармацыю. Пасля спампоўкі або ўключэння ў пакет тэхпадтрымкі, файл захопу аўтаматычна выдаляецца з сервера 3CX у мэтах бяспекі.

На серверы 3CX файл размешчаны ў наступным месцы:

  • Windows: C:ProgramData3CXInstance1DataLogsdump.pcap
  • Linux: /var/lib/3cxpbx/Instance/Data/Logs/dump.pcap

Каб пазбегнуць падвышанай нагрузкі на сервер ці страты пакетаў пры захопе, перыяд захопу абмежаваны 2 млн. пакетаў. Пасля гэтага захоп аўтаматычна спыняецца. Калі вам патрэбен больш працяглы захоп, выкарыстоўвайце асобную ўтыліту Wireshark, як апісана ніжэй.

Захоп трафіку ўтылітай Wireshark

Калі вас цікавіць глыбейшы ​​аналіз сеткавага трафіку, захоплівайце яго ўручную. Загрузіце ўтыліту Wireshark для вашай АС адсюль. Пасля ўсталёўкі ўтыліты на серверы 3CX, перайдзіце ў падзел Capture > Interfaces. Тут будуць паказаны ўсе сеткавыя інтэрфейсы АС. IP-адрасы інтэрфейсаў могуць паказвацца ў стандарце IPv6. Каб убачыць адрас IPv4, клікніце на адрас IPv6.

Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

Абярыце інтэрфейс для захопу і націсніце кнопку Options. Зніміце галачку Capture Traffic in promiscuous mode, а астатнія налады пакіньце без змен.

Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

Цяпер трэба прайграць праблему. Калі праблема прайграная, спыніце захоп (меню Capture> Stop). Адабраць SIP-паведамленні можна ў меню Telephony > SIP Flows.

Асновы аналізу трафіку - паведамленне SIP INVITE

Разгледзім асноўныя палі SIP-паведамлення INVITE, якое адпраўляецца для ўсталявання VoIP-выкліку, г.зн. з'яўляецца зыходнай кропкай для аналізу. Звычайна SIP INVITE уключае ад 4 да 6 палёў з інфармацыяй, якая выкарыстоўваецца канцавымі SIP-прыладамі (тэлефонамі, шлюзамі) і аператарамі сувязі. Разуменне змесціва INVITE і наступных за ім паведамленняў часта дапамагае вызначыць крыніцу праблемы. Акрамя таго, веданне палёў INVITE дапамагае пры падлучэнні SIP-аператараў да 3CX ці аб'яднанні 3CX з іншымі SIP АТС.

У паведамленні INVITE карыстачы (ці SIP-прылады) вызначаюцца па URI. Звычайна SIP URI - гэта нумар тэлефона карыстальніка + адрас SIP сервера. SIP URI вельмі падобны на e-mail адрас і запісваецца як sip:x@y:Port.

Тэхпадтрымка 3CX адказвае: захоп SIP-трафіку на серверы АТС

Request-Line-URI:

Request-Line-URI - поле змяшчае атрымальніка выкліку. У ім утрымоўваецца тая ж інфармацыя, што і ў поле To, але без які адлюстроўваецца імя карыстача (Display Name).

Via:

Via - кожны SIP-сервер (проксі), праз які праходзіць запыт INVITE, дадае ўверсе спісу Via свой IP-адрас і порт, на які было атрымана паведамленне. Затым паведамленне перадаецца далей па дарозе. Калі канчатковы атрымальнік адказвае на запыт INVITE, усе транзітныя вузлы "праглядаюць" загаловак Via і вяртаюць паведамленне адпраўніку па тым жа маршруце. Пры гэтым транзітны SIP-проксі выдаляе свае дадзеныя з загалоўка.

ад:

From - загаловак паказвае на ініцыятара запыту з пункту гледжання SIP-сервера. Загаловак фарміруецца такім жа чынам, як e-mail адрас (user@domain, дзе user - дадатковы нумар карыстальніка 3CX, а domain - лакальны IP-адрас або SIP-дамен сервера 3CX). Як і загаловак To, загаловак From змяшчае URI і, апцыянальна, якое адлюстроўваецца імя карыстальніка Display Name. Па загалоўку From можна зразумець, як менавіта варта апрацоўваць гэты SIP-запыт.

Стандарт SIP RFC 3261 прадугледжвае, што калі якое адлюстроўваецца імя Display Name не перадаецца, IP-тэлефон або VoIP-шлюз (UAC) павінны выкарыстоўваць Display Name "Anonymous", напрыклад, From: "Anonymous"[электронная пошта абаронена]>.

To:

To - гэты загаловак паказвае на атрымальніка запыту. Гэта можа быць як канчатковы атрымальнік выкліку, так і прамежкавае звяно. Звычайна ў загалоўку змяшчаецца SIP URI, аднак магчымыя і іншыя схемы (гл. RFC 2806 [9]). Аднак SIP URI павінен падтрымлівацца ва ўсіх имплементациях пратаколу SIP, незалежна ад вытворцы абсталявання. Загаловак To таксама можа змяшчаць адлюстраванае імя Display Name, напрыклад, To: «Імя Прозвішча»[электронная пошта абаронена]>).

Звычайна поле To змяшчае SIP URI, які паказвае на першы (наступны) SIP-проксі, які будзе апрацоўваць запыт. Гэта не абавязкова павінен быць канчатковы атрымальнік запыту.

Кантакты:

Contact - загаловак змяшчае SIP URI, па якім можна звязацца з адпраўніком запыту INVITE. Гэта абавязковы загаловак, які павінен змяшчаць толькі адзін SIP URI. Ён з'яўляецца часткай двухбаковай камунікацыі, якая адпавядае першапачатковаму запыту SIP INVITE. Вельмі важна, каб загаловак Contact утрымоўваў карэктную інфармацыю (уключаючы IP-адрас), па якім адпраўнік запыту чакае адказу. URI Contact выкарыстоўваецца і ў далейшых камунікацыях, ужо пасля ўсталявання сеансу сувязі.

Дазволіць:

Allow - поле змяшчае спіс параметраў (SIP-метадаў), падзеленых коскі. Яны апісваюць, якія магчымасці пратаколу SIP падтрымлівае дадзены адпраўнік (прылада). Поўны спіс метадаў: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, SUBSCRIBE, UPDATE. Больш падрабязна SIP-метады апісаны тут.

Крыніца: habr.com

Дадаць каментар