network_service_matcher/dns/dns_test.go

36 lines
596 B
Go
Raw Normal View History

2017-12-04 07:27:08 +00:00
package dns
import (
"net"
"testing"
cnsm "git.loafle.net/commons_go/network_service_matcher"
)
func TestDns(t *testing.T) {
m := NewMatcher()
info := cnsm.NewMatchInfo("168.126.63.1", 53)
conn, _ := net.Dial("udp", "168.126.63.1:53")
defer conn.Close()
for i := 0; i < m.PacketCount(); i++ {
if m.IsSend(53) != true {
t.Error("not port")
}
pack := m.Packet(i)
conn.Write(pack.Buffer)
bytes := make([]byte, 1024)
n, _ := conn.Read(bytes)
p := cnsm.NewPacket(bytes, n)
if m.Match(info, i, p) {
t.Log("dns found")
return
}
t.Error("dns not found")
}
}