Yandex нь Линукс дээр сүлжээний үйл ажиллагааг хянах хэрэгсэл болох skbtrace-г нийтлэв

Yandex нь Линукс дээр сүлжээний стекийн ажиллагааг хянах, сүлжээний үйл ажиллагааны гүйцэтгэлийг хянах хэрэгслүүдээр хангадаг skbtrace хэрэгслийн эх кодыг нийтлэв. Уг хэрэгсэл нь BPFtrace динамик дибаг хийх системийн нэмэлт болгон хэрэгжсэн. Код нь Go дээр бичигдсэн бөгөөд MIT лицензийн дагуу тараагддаг. Linux цөм 4.14+ болон BPFTrace 0.9.2+ хэрэглүүртэй ажиллахыг дэмждэг.

Ажиллаж байх үед skbtrace хэрэгсэл нь Линукс сүлжээний стек болон сүлжээний залгууруудтай холбоотой үйлдлийн гүйцэтгэлийн хугацааг динамикаар хянаж, дүн шинжилгээ хийдэг өндөр түвшний BPFtrace хэл дээр скриптүүдийг үүсгэдэг. Дараа нь скриптүүдийг eBPF өргөдлийн маягт руу орчуулж, цөмийн түвшинд гүйцэтгэнэ.

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

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх