Яндекс Linux тармагында тармактык операцияларды көзөмөлдөө үчүн skbtrace утилитасын чыгарды

Яндекс skbtrace утилитасынын баштапкы кодун жарыялады, анда тармактык стектин иштешине мониторинг жүргүзүү жана Linux тармагында тармактык операциялардын аткарылышын көзөмөлдөө үчүн куралдар каралган. Утилита BPFtrace динамикалык мүчүлүштүктөрдү оңдоо системасына кошумча катары ишке ашырылат. Код Go программасында жазылган жана MIT лицензиясы боюнча таратылат. Linux ядролору 4.14+ жана BPFTrace 0.9.2+ инструменттери менен иштөөнү колдойт.

Иштеп жатканда, skbtrace утилитасы жогорку деңгээлдеги BPFtrace тилинде скрипттерди жаратат, алар динамикалык түрдө байкап, Linux тармагынын стекине жана тармак розеткаларына тиешелүү операциялардын аткарылуу убактысын талдап турат. Андан кийин скрипттер eBPF арыз формасына которулуп, ядро ​​деңгээлинде аткарылат.

Skbtraceтин спецификалык мүмкүнчүлүктөрүнүн арасында кирүүчү жана чыгуучу тармак интерфейстеринин ортосундагы пакеттерди жөнөтүү убактысын өлчөө, SYN алуудан FIN/RST келгенге чейинки TCP байланышынын иштөө мөөнөтү, пакеттерди иштетүүнүн ар кандай окуяларынын ортосундагы кечигүү жана убакыт TCP байланышын сүйлөшүү үчүн белгиленет. Skbtrace ошондой эле TCP пакеттеринин ретрансляциясын аныктоо үчүн колдонулушу мүмкүн, ал тургай алар башка пакеттерде капсулаланган жана tcpdump утилитасынын жөнөкөй аналогу катары иш алып барышат, ал кээ бир ядролук процедуралардын аткарылышын талдай алат, мисалы, эстутумду бошотуу үчүн kfree_skb чалуу. пакеттерди таштаганда.

Source: opennet.ru

Комментарий кошуу