service_matcher-go/sqlserver/sqlserver_test.go
2018-09-03 22:36:57 +09:00

70 lines
1.1 KiB
Go

package sqlserver
import (
"net"
"testing"
osm "git.loafle.net/overflow/service_matcher-go"
)
/*
192.168.1.106:1433 - normal
192.168.1.103:1433 - ssl
*/
func TestSqlNor(t *testing.T) {
conn, err := net.Dial("tcp", "192.168.1.16:11433")
if err != nil {
t.Error(err)
return
}
defer conn.Close()
matchCtx := osm.NewMatchCtx("192.168.1.16", 11433)
sqlServerRun(matchCtx, conn, t)
}
//func TestSqlTLS(t *testing.T) {
// conn, err := tls.Dial(
// "tcp",
// "192.168.1.103:7680",
// &tls.Config{
// InsecureSkipVerify: true,
// ServerName: "192.168.1.103",
// },
// )
//
// if err != nil {
// t.Log(err)
// return
// }
//
// defer conn.Close()
//
// sqlServerRun(conn, t)
//}
func sqlServerRun(matchCtx *osm.MatchCtx, conn net.Conn, t *testing.T) {
m := NewMatcher()
for i := 0; i < m.PacketCount(matchCtx); i++ {
pack := m.Packet(matchCtx, i)
conn.Write(pack.Buffer)
bytes := make([]byte, 1024)
n, _ := conn.Read(bytes)
p := osm.NewPacket(bytes, n)
if err := m.Match(matchCtx, i, p); nil != err {
t.Log(m.Key())
return
}
t.Error("SQL Server not found")
}
}