Yandex avaldas skbtrace tööriista allikaid, mis pakuvad vahendeid võrgustiku virna jälgimiseks ja võrgutegevuste jälgimiseks Linuxis. Tööriist on rakendatud BPFtrace dünaamilise tõrkeotsingu süsteemi peale. Kood on kirjutatud Go keeles ja levitatakse MIT litsentsi alusel. Toetatakse töötlust Linuxi tuumadest alates 4.14+ ja BPFTrace tööriistakomplektidest 0.9.2+.
Töö käigus genereerib tööriist skbtrace skripte kõrgetasemelises BPFtrace keeles, mis teostavad dünaamilist jälgimist ja analüüsivad Linuxi võrgustiku virna ja võrgu soklitega seotud tegevuste täitmise aega. Skriptid tõlgitakse seejärel eBPF rakenduste vormi ja käivitatakse tuuma tasemel.
skbtrace'i spetsiifilistest omadustest on pakettide edastamise aja mõõtmine sissetuleva ja väljuva võrgu liidese vahel, TCP-ühenduse eluea määramine SYN'i saamisest kuni FIN/RST saabumiseni, viivituste mõõtmine erinevate pakettide töötlemise sündmuste vahel ning TCP-ühenduse loomise ajakulu. Skbtrace'i saab kasutada ka TCP-pakettide taasesituse tuvastamiseks, isegi kui need on mähitud teiste pakettide sisse, ja see on lihtne analoog utiliidile tcpdump, mis suudab analüüsida teatud kerneliprotseede, nagu kfree_skb kutsumise, teostamist mälu vabastamiseks pakettide mahajätmise korral.
Allikas: opennet.ru
