"protocols/ospf/git@code.fbi.h-da.de:danet/bio-rd.git" did not exist on "1c696c88360bb202cfba2f79d6bb1aa927933c7e"
Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package fixtures
import (
"net"
"os"
"testing"
"github.com/google/gopacket"
"github.com/google/gopacket/layers"
"github.com/google/gopacket/pcapgo"
)
func PacketReader(t *testing.T, path string) (*pcapgo.Reader, *os.File) {
f, err := os.Open(path)
if err != nil {
t.Error(err)
}
r, err := pcapgo.NewReader(f)
if err != nil {
t.Error(err)
}
return r, f
}
func Payload(raw []byte) (pl []byte, src, dst net.IP, err error) {
packet := gopacket.NewPacket(raw, layers.LayerTypeEthernet, gopacket.Default)
if perr := packet.ErrorLayer(); perr != nil {
// fallback to handling of FrameRelay (cut-off header)
packet = gopacket.NewPacket(raw[4:], layers.LayerTypeIPv6, gopacket.Default)
if perr = packet.ErrorLayer(); perr != nil {
err = perr.Error()
return
}
}
flowSrc, flowDst := packet.NetworkLayer().NetworkFlow().Endpoints()
src = net.IP(flowSrc.Raw())
dst = net.IP(flowDst.Raw())
pl = packet.NetworkLayer().LayerPayload()
return
}