Flow-capture складывает дампы netflow v5 на сервер, при его чтение из GO либо невозможно его совсем прочитать, потому что первые два байта не являются версией netflow, либо если я сдвигаю на 11 байт массив, он вычитывает пакет полностью или также выдает ошибку если пробую например другой дамп считать( подбирал даже), но выводит мне абсолютно не то, что должно быть, пример вывода :
0.0.0.10
157.121.64.85
138.166.72.38
107.207.29.71
108.177.99.171
243.117.126.147
Но в сети ходят лишь серые адреса, при работе с flow-tools всё выводится корректно, использовал различные библиотеки, для анмаршелинга в структуру, но вывод одинаковый везде,тот что указан выше.
go func() {
for f := range fileNamesCatalog{
file, err := ioutil.ReadFile(f)
if err != nil{
fmt.Errorf("Failed open file %v", f)
continue
}
decoder := netflow.NewDecoder(session.New())
body, err := decoder.Read(bytes.NewReader(file[11:]))
switch packet := body.(type) {
case *netflow5.Packet:
filter(packet,net.ParseIP("157.121.64.85"),packetsChannel)
}
}
}()