Ողջույն
Ուրեմն ես ուզում եմ բռնեմ NetFlow պակետները, որոնք ուղարկվում են fprobe ծրագրի կողմից:
fprobe-ը դրված է իմ լոկալ մեքենայի վրա, որը ուղարկում է պակետներ 127.0.0.1:2055-ին UDP պրոտոկոլով:
Ես գրել եմ ծրագիր, որը լսում է 2055 պորտը (UDP) և recvfrom-ի միջոցով ստանում եմ պակետները:
Ինչպես գիտեք recvfrom ֆուկցիան ստանում է բուֆերի նշիչը, որտեղ լցնում է պակետի ինֆորմացիան, երբ ես տպում եմ բուֆերը (printf("%c", buf) ) այն դատարկ է:
Ես փորձեցի տպել բուֆերը ըստ ելեմենտների՝
for(int i = 0; i < BUFSIZE; i++) {
printf("%c", buf[i]);
}
ահա թե ինչ ստացա ես ելքում :
>��H��uvP�... և այլ
Ուրեմն, ինպե՞ս կարող եմ դեկոդ կամ չգիտեմ, ինչոր ուրիշ բան, անել պակետի տվյալները ստանալու համար։
Շնորհակալություն