Add hex2pcap
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package pcap
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/hex"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestWriter(t *testing.T) {
|
||||
var buf bytes.Buffer
|
||||
w, err := NewWriter(&buf, LinkTypeRaw)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
ts := time.Unix(0x01020304, 5000)
|
||||
if err := w.WritePacket(ts, []byte{0xaa, 0xbb}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
want := "d4c3b2a1" + "0200" + "0400" + "00000000" + "00000000" + "00000400" + "65000000" +
|
||||
"04030201" + "05000000" + "02000000" + "02000000" + "aabb"
|
||||
if got := hex.EncodeToString(buf.Bytes()); got != want {
|
||||
t.Errorf("got %s\nwant %s", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWriterRejectsOversizedPacket(t *testing.T) {
|
||||
w, err := NewWriter(&bytes.Buffer{}, LinkTypeEthernet)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := w.WritePacket(time.Now(), make([]byte, DefaultSnapLen+1)); err == nil {
|
||||
t.Error("expected error for oversized packet")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user