diff --git a/matcher/ftp/ftp_test.go b/matcher/ftp/ftp_test.go index 767b012..df34652 100644 --- a/matcher/ftp/ftp_test.go +++ b/matcher/ftp/ftp_test.go @@ -1,235 +1,234 @@ package ftp -//import ( -// "fmt" -// "testing" +import ( + "fmt" + "testing" + "git.loafle.net/overflow/overflow_probe/model/scaninfo" + "git.loafle.net/overflow/overflow_probe/matcher/packet" + + "net" +) + +//type FTP struct { +// conn net.Conn +// addr string // -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/packet" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/scaninfo" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/types" -// log "github.com/cihub/seelog" -// "net" -//) -// -////type FTP struct { -//// conn net.Conn -//// addr string -//// -//// reader *bufio.Reader -//// writer *bufio.Writer -////} -//// -////func (ftp *FTP) Close() { -//// ftp.conn.Close() -////} -//// -////func Connect(addr string) (*FTP, error) { -//// var err error -//// var conn net.Conn -//// -//// if conn, err = net.Dial("tcp", addr); err != nil { -//// return nil, err -//// } -//// -//// writer := bufio.NewWriter(conn) -//// reader := bufio.NewReader(conn) -//// -//// obj := &FTP{ -//// conn:conn, -//// addr:addr, -//// reader:reader, -//// writer:writer, -//// } -//// recv, _ := obj.receive() -//// -//// fmt.Println(recv) -//// -//// return obj, nil -//// -////} -//// -////func (ftp *FTP) receive() (string, error) { -//// line, err := ftp.receiveLine() -//// -//// if err != nil { -//// return line, err -//// } -//// -//// fmt.Println("len : ", len(line)) -//// fmt.Println("line[3] :", line[3]) -//// // -//// //if (len(line) >= 4) && (line[3] == '-') { -//// // closingCode := line[:3] + " " -//// // -//// // for { -//// // str, err := ftp.receiveLine() -//// // fmt.Println("str pre: ", str) -//// // line = line + str -//// // fmt.Println("str after: ", line) -//// // if err != nil { -//// // return line, err -//// // } -//// // -//// // if len(str) < 4 { -//// // fmt.Println("Uncorrectly terminated response") -//// // }else { -//// // if str[:4] == closingCode { -//// // break -//// // } -//// // } -//// // } -//// //} -//// -//// ftp.ReadAndDiscard() -//// -//// fmt.Println("receive line: ", line) -//// return line, err -////} -//// -////func (ftp *FTP) ReadAndDiscard() (int, error) { -//// var i int -//// bufferSize := ftp.reader.Buffered() -//// -//// for i = 0; i < bufferSize ; i++ { -//// if _, err := ftp.reader.ReadByte(); err != nil { -//// return i, err -//// } -//// } -//// -//// return i, nil -////} -//// -////func (ftp *FTP) send(command string, arguments ...interface{}) error { -//// -//// command = fmt.Sprintf(command) -//// command += "\r\n" -//// -//// if _, err := ftp.writer.WriteString(command); err != nil { -//// return err -//// } -//// -//// if err := ftp.writer.Flush(); err != nil { -//// return err -//// } -//// -//// return nil -////} -//// -////func (ftp *FTP) cmd(expects string, command string, args ...interface{}) (line string, err error) { -//// -//// if err = ftp.send(command, args); err != nil { -//// return -//// } -//// -//// if line, err = ftp.receive(); err != nil { -//// return -//// } -//// -//// -//// if !strings.HasPrefix(line, expects) { -//// err = errors.New(line) -//// return -//// } -//// -//// return -////} -//// -////func (ftp *FTP) receiveLine() (string, error) { -//// line, err := ftp.reader.ReadString('\n') -//// -//// log.Printf("< %s", line) -//// -//// return line, err -////} -//// -////func (ftp *FTP) Syst() (line string, err error) { -//// if err := ftp.send("SYST"); err != nil { -//// return "", err -//// } -//// -//// if line, err = ftp.receive(); err != nil { -//// return -//// } -//// -//// if !strings.HasPrefix(line, "215") { -//// err = errors.New(line) -//// return -//// } -//// -//// return strings.SplitN(strings.TrimSpace(line), " ", 2)[1], nil -////} -// -////func TestFtp(t *testing.T) { -//// var err error -//// var ftp *FTP -//// //var f *FTPMatcher -//// -//// if ftp, err = Connect("192.168.1.202:21"); err != nil { -//// panic(err) -//// } -//// -//// //f.Match(0, nil,nil) -//// ftp.Syst() -//// ftp.cmd("503","PASS ") -//// ftp.cmd("221","QUIT") -//// defer ftp.Close() -////} -// -//func TestMatchFTP(t *testing.T) { -// ftm := NewFTPMatcher() -// //fmt.Println(ftm) -// //fmt.Println(ftm.sendPackets[0]) -// -// //log.LoadLogConfig("../../../../../../../../bin/log.xml") -// //defer log.Flush() -// -// port := types.NewPort("21", types.NewHost("192.168.1.202"), types.TYPE_TCP) -// info := scaninfo.NewServiceScanInfo(port) -// -// var ipport string -// ipport = port.Host.Ip + ":" + string(port.Port) -// -// log.Debug(ipport) -// -// client, _ := net.Dial("tcp", ipport) -// -// defer client.Close() -// -// //reader := bufio.NewReader(client) -// //writer := bufio.NewWriter(client) -// -// fmt.Println(ftm.PacketCount()) -// //fmt.Println(reader.ReadString('\n')) -// -// bytes := make([]byte, 512) -// -// le, _ := client.Read(bytes) -// -// fmt.Println(bytes) -// -// b := ftm.Match(0, packet.NewPacket(bytes, le), nil) -// -// fmt.Println(b) -// -// for ii := 0; ii < ftm.PacketCount(); ii++ { -// pack := ftm.Packet(ii) -// -// fmt.Println(pack) -// -// //writer.WriteString(pack) -// client.Write(pack.Buffer) -// //fmt.Println(reader.ReadString('\n')) -// bytes := make([]byte, 512) -// -// l, _ := client.Read(bytes) -// -// //fmt.Println(bytes) -// -// b := ftm.Match(ii+1, packet.NewPacket(bytes, l), info) -// -// fmt.Println(b) -// -// } -// -// fmt.Println("Service Name : ", ftm.ServiceName()) +// reader *bufio.Reader +// writer *bufio.Writer //} +// +//func (ftp *FTP) Close() { +// ftp.conn.Close() +//} +// +//func Connect(addr string) (*FTP, error) { +// var err error +// var conn net.Conn +// +// if conn, err = net.Dial("tcp", addr); err != nil { +// return nil, err +// } +// +// writer := bufio.NewWriter(conn) +// reader := bufio.NewReader(conn) +// +// obj := &FTP{ +// conn:conn, +// addr:addr, +// reader:reader, +// writer:writer, +// } +// recv, _ := obj.receive() +// +// fmt.Println(recv) +// +// return obj, nil +// +//} +// +//func (ftp *FTP) receive() (string, error) { +// line, err := ftp.receiveLine() +// +// if err != nil { +// return line, err +// } +// +// fmt.Println("len : ", len(line)) +// fmt.Println("line[3] :", line[3]) +// // +// //if (len(line) >= 4) && (line[3] == '-') { +// // closingCode := line[:3] + " " +// // +// // for { +// // str, err := ftp.receiveLine() +// // fmt.Println("str pre: ", str) +// // line = line + str +// // fmt.Println("str after: ", line) +// // if err != nil { +// // return line, err +// // } +// // +// // if len(str) < 4 { +// // fmt.Println("Uncorrectly terminated response") +// // }else { +// // if str[:4] == closingCode { +// // break +// // } +// // } +// // } +// //} +// +// ftp.ReadAndDiscard() +// +// fmt.Println("receive line: ", line) +// return line, err +//} +// +//func (ftp *FTP) ReadAndDiscard() (int, error) { +// var i int +// bufferSize := ftp.reader.Buffered() +// +// for i = 0; i < bufferSize ; i++ { +// if _, err := ftp.reader.ReadByte(); err != nil { +// return i, err +// } +// } +// +// return i, nil +//} +// +//func (ftp *FTP) send(command string, arguments ...interface{}) error { +// +// command = fmt.Sprintf(command) +// command += "\r\n" +// +// if _, err := ftp.writer.WriteString(command); err != nil { +// return err +// } +// +// if err := ftp.writer.Flush(); err != nil { +// return err +// } +// +// return nil +//} +// +//func (ftp *FTP) cmd(expects string, command string, args ...interface{}) (line string, err error) { +// +// if err = ftp.send(command, args); err != nil { +// return +// } +// +// if line, err = ftp.receive(); err != nil { +// return +// } +// +// +// if !strings.HasPrefix(line, expects) { +// err = errors.New(line) +// return +// } +// +// return +//} +// +//func (ftp *FTP) receiveLine() (string, error) { +// line, err := ftp.reader.ReadString('\n') +// +// log.Printf("< %s", line) +// +// return line, err +//} +// +//func (ftp *FTP) Syst() (line string, err error) { +// if err := ftp.send("SYST"); err != nil { +// return "", err +// } +// +// if line, err = ftp.receive(); err != nil { +// return +// } +// +// if !strings.HasPrefix(line, "215") { +// err = errors.New(line) +// return +// } +// +// return strings.SplitN(strings.TrimSpace(line), " ", 2)[1], nil +//} + +//func TestFtp(t *testing.T) { +// var err error +// var ftp *FTP +// //var f *FTPMatcher +// +// if ftp, err = Connect("192.168.1.202:21"); err != nil { +// panic(err) +// } +// +// //f.Match(0, nil,nil) +// ftp.Syst() +// ftp.cmd("503","PASS ") +// ftp.cmd("221","QUIT") +// defer ftp.Close() +//} + +func TestMatchFTP(t *testing.T) { + ftm := NewFTPMatcher() + //fmt.Println(ftm) + //fmt.Println(ftm.sendPackets[0]) + + //log.LoadLogConfig("../../../../../../../../bin/log.xml") + //defer log.Flush() + + //port := types.NewPort("21", types.NewHost("192.168.1.202"), types.TYPE_TCP) + + info := scaninfo.NewScanInfoImpl("192.168.1.15","21") + // + //var ipport string + //ipport = port.Host.Ip + ":" + string(port.Port) + // + //log.Debug(ipport) + + client, _ := net.Dial("tcp", "192.168.1.15:21") + + defer client.Close() + + //reader := bufio.NewReader(client) + //writer := bufio.NewWriter(client) + + fmt.Println(ftm.PacketCount()) + //fmt.Println(reader.ReadString('\n')) + + bytes := make([]byte, 512) + + le, _ := client.Read(bytes) + + fmt.Println(bytes) + + b := ftm.Match(0, packet.NewPacket(bytes, le), nil) + + fmt.Println(b) + + for ii := 0; ii < ftm.PacketCount(); ii++ { + pack := ftm.Packet(ii) + + fmt.Println(pack) + + //writer.WriteString(pack) + client.Write(pack.Buffer) + //fmt.Println(reader.ReadString('\n')) + bytes := make([]byte, 512) + + l, _ := client.Read(bytes) + + //fmt.Println(bytes) + + b := ftm.Match(ii+1, packet.NewPacket(bytes, l), info) + + fmt.Println(b) + + } + + fmt.Println("Service Name : ", ftm.ServiceName()) +} diff --git a/matcher/imap/imap_test.go b/matcher/imap/imap_test.go index 807a035..42872ee 100644 --- a/matcher/imap/imap_test.go +++ b/matcher/imap/imap_test.go @@ -1,150 +1,150 @@ package imap -// -//import ( -// "crypto/tls" -// "fmt" -// "git.loafle.net/overflow/overflow_probe/collector/core/scan/port" -// "git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet" -// "git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/scaninfo" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/types" -// "net" -// "testing" -//) -// -//func ImapRun(client net.Conn, t *testing.T) { -// -// lm := NewIMAPMatcher() -// -// port := types.NewPort("143", types.NewHost("192.168.1.215"), types.TYPE_TCP) -// -// scanInfo := types.NewServiceScanInfo(port) -// -// var ipport string -// ipport = port.Host.Ip + ":" + string(port.Port) -// -// fmt.Println(ipport) -// //client, _ := net.Dial("tcp", ipport) -// -// //defer client.Close() -// -// bytett := make([]byte, 1024) -// -// rr, _ := client.Read(bytett) -// -// bb := lm.Match(0, packet.NewPacket(bytett, rr), scanInfo) -// -// if bb { -// t.Log("good!") -// } -// -// fmt.Println(lm.PacketCount()) -// -// for ii := 0; ii < lm.PacketCount(); ii++ { -// -// pack := lm.Packet(ii) -// -// //fmt.Println(pack) -// -// client.Write(pack.Buffer) -// -// bytes := make([]byte, 1024) -// -// read, _ := client.Read(bytes) -// -// fmt.Println(cap(bytes)) -// -// //fmt.Println(bytes) -// -// b := lm.Match(ii+1, packet.NewPacket(bytes, read), scanInfo) -// -// if b { -// t.Log("send Good!") -// } -// -// } -// t.Log(scanInfo) -// -//} -// -//func TestIMapTls(t *testing.T) { -// -// conn, _ := tls.Dial( -// "tcp", -// "192.168.1.215:993", -// &tls.Config{ -// InsecureSkipVerify: true, -// ServerName: "192.168.1.215", -// }, -// ) -// -// defer conn.Close() -// -// ImapRun(conn, t) -// -//} -// -//func TestIMapNormal(t *testing.T) { -// -// client, _ := net.Dial("tcp", "192.168.1.215:143") -// -// defer client.Close() -// -// ImapRun(client, t) -// -//} -// -//func TestImap(t *testing.T) { -// -// lm := NewIMAPMatcher() -// -// //port := types.NewPort("143", types.NewHost("192.168.1.215"), types.TYPE_TCP) -// -// //scanInfo := scaninfo.NewServiceScanInfo(port) -// -// var ipport string -// //ipport = port.Host.Ip + ":" + port.Port_ -// -// fmt.Println(ipport) -// client, _ := net.Dial("tcp", ipport) -// -// defer client.Close() -// -// bytett := make([]byte, 1024) -// -// rr, _ := client.Read(bytett) -// -// //bb := lm.Match(0, packet.NewPacket(bytett, rr), scanInfo) -// bb := lm.Match(0, packet.NewPacket(bytett, rr), nil) -// -// if bb { -// t.Log("good!") -// } -// -// fmt.Println(lm.PacketCount()) -// -// for ii := 0; ii < lm.PacketCount(); ii++ { -// -// pack := lm.Packet(ii) -// -// //fmt.Println(pack) -// -// client.Write(pack.Buffer) -// -// bytes := make([]byte, 1024) -// -// read, _ := client.Read(bytes) -// -// fmt.Println(cap(bytes)) -// -// //fmt.Println(bytes) -// -// b := lm.Match(ii+1, packet.NewPacket(bytes, read), nil) -// -// if b { -// t.Log("send Good!") -// } -// -// } -// //t.Log(scanInfo) -//} + +import ( + "crypto/tls" + "fmt" + //"git.loafle.net/overflow/overflow_probe/collector/core/scan/port" + "git.loafle.net/overflow/overflow_probe/matcher/packet" + //"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/scaninfo" + //"git.loafle.net/overflow/overflow_probe/collector/discovery/types" + "net" + "testing" +) + +func ImapRun(client net.Conn, t *testing.T) { + + lm := NewIMAPMatcher() + + //port := types.NewPort("143", types.NewHost("192.168.1.215"), types.TYPE_TCP) + // + //scanInfo := types.NewServiceScanInfo(port) + // + //var ipport string + //ipport = port.Host.Ip + ":" + string(port.Port) + // + //fmt.Println(ipport) + //client, _ := net.Dial("tcp", ipport) + + //defer client.Close() + + bytett := make([]byte, 1024) + + rr, _ := client.Read(bytett) + + bb := lm.Match(0, packet.NewPacket(bytett, rr), nil) + + if bb { + t.Log("good!") + } + + fmt.Println(lm.PacketCount()) + + for ii := 0; ii < lm.PacketCount(); ii++ { + + pack := lm.Packet(ii) + + //fmt.Println(pack) + + client.Write(pack.Buffer) + + bytes := make([]byte, 1024) + + read, _ := client.Read(bytes) + + fmt.Println(cap(bytes)) + + //fmt.Println(bytes) + + b := lm.Match(ii+1, packet.NewPacket(bytes, read), nil) + + if b { + t.Log("send Good!") + } + + } + + +} + +func TestIMapTls(t *testing.T) { + + conn, _ := tls.Dial( + "tcp", + "192.168.1.15:993", + &tls.Config{ + InsecureSkipVerify: true, + ServerName: "192.168.1.15", + }, + ) + + defer conn.Close() + + ImapRun(conn, t) + +} + +func TestIMapNormal(t *testing.T) { + + client, _ := net.Dial("tcp", "192.168.1.15:143") + + defer client.Close() + + ImapRun(client, t) + +} + +func TestImap(t *testing.T) { + + lm := NewIMAPMatcher() + + //port := types.NewPort("143", types.NewHost("192.168.1.215"), types.TYPE_TCP) + + //scanInfo := scaninfo.NewServiceScanInfo(port) + + var ipport string + //ipport = port.Host.Ip + ":" + port.Port_ + + fmt.Println(ipport) + client, _ := net.Dial("tcp", ipport) + + defer client.Close() + + bytett := make([]byte, 1024) + + rr, _ := client.Read(bytett) + + //bb := lm.Match(0, packet.NewPacket(bytett, rr), scanInfo) + bb := lm.Match(0, packet.NewPacket(bytett, rr), nil) + + if bb { + t.Log("good!") + } + + fmt.Println(lm.PacketCount()) + + for ii := 0; ii < lm.PacketCount(); ii++ { + + pack := lm.Packet(ii) + + //fmt.Println(pack) + + client.Write(pack.Buffer) + + bytes := make([]byte, 1024) + + read, _ := client.Read(bytes) + + fmt.Println(cap(bytes)) + + //fmt.Println(bytes) + + b := lm.Match(ii+1, packet.NewPacket(bytes, read), nil) + + if b { + t.Log("send Good!") + } + + } + //t.Log(scanInfo) +} diff --git a/matcher/ldap/ldap_test.go b/matcher/ldap/ldap_test.go index 8d50aab..b187b0d 100644 --- a/matcher/ldap/ldap_test.go +++ b/matcher/ldap/ldap_test.go @@ -1,110 +1,115 @@ package ldap -// -//import ( -// "crypto/tls" -// "fmt" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/packet" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/scaninfo" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/types" -// "net" -// "testing" -//) -// -////func SetUp() { -//// fmt.Println("SetUp") -////} -//// -////func TearDown() { -//// fmt.Println("TearDown") -////} -// -////func TestMain(m *testing.M) { -//// SetUp() -//// m.Run() -//// TearDown() -////} -// -//func TestAAAA(t *testing.T) { -// ///animals := []Animal{Dog{}, Cat{}, Llama{}, JavaProgrammer{}} -// -// var ttt [][]int = make([][]int, 10) -// -// var aaa []int -// aaa = append(aaa, 111) -// -// ttt = append(ttt, aaa) -// -// fmt.Println(cap(ttt)) -// + +import ( + "crypto/tls" + "fmt" + "git.loafle.net/overflow/overflow_probe/matcher/packet" + //"git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/scaninfo" + //"git.loafle.net/overflow/overflow_probe/collector/discovery/types" + "net" + "testing" + +) + +//func SetUp() { +// fmt.Println("SetUp") //} // -//func ldapRun(client net.Conn, t *testing.T) { -// lm := NewLDAPMatcher() -// -// port := types.NewPort("389", types.NewHost("192.168.1.215"), types.TYPE_TCP) -// scanInfo := scaninfo.NewServiceScanInfo(port) -// var ipport string -// ipport = port.Host.Ip + ":" + string(port.Port) -// -// fmt.Println(ipport) -// //client, _ := net.Dial("tcp", ipport) -// //defer client.Close() -// -// fmt.Println(lm.PacketCount()) -// -// for ii := 0; ii < lm.PacketCount(); ii++ { -// -// pack := lm.Packet(ii) -// -// bytes := make([]byte, 1024) -// -// client.Write(pack.Buffer) -// -// read, _ := client.Read(bytes) -// -// if read <= 0 { -// bb := lm.IsNoResponse(ii) -// if bb { -// -// t.Log("IsNoResponse good") -// break -// } -// -// } -// -// fmt.Println(bytes) -// -// b := lm.Match(ii, packet.NewPacket(bytes, read), scanInfo) -// -// if b { -// t.Log("Good") -// } -// -// } -// -// t.Log(scanInfo) +//func TearDown() { +// fmt.Println("TearDown") //} -// -//func TestLdapTls(t *testing.T) { -// conn, _ := tls.Dial( -// "tcp", -// "192.168.1.215:636", -// &tls.Config{ -// InsecureSkipVerify: true, -// ServerName: "192.168.1.215", -// }, -// ) -// -// defer conn.Close() -// -// ldapRun(conn, t) -//} -// -//func TestLdapNormal(t *testing.T) { -// client, _ := net.Dial("tcp", "192.168.1.215:389") -// -// defer client.Close() -// -// ldapRun(client, t) + +//func TestMain(m *testing.M) { +// SetUp() +// m.Run() +// TearDown() //} + +func TestAAAA(t *testing.T) { + ///animals := []Animal{Dog{}, Cat{}, Llama{}, JavaProgrammer{}} + + var ttt [][]int = make([][]int, 10) + + var aaa []int + aaa = append(aaa, 111) + + ttt = append(ttt, aaa) + + fmt.Println(cap(ttt)) + +} + +func ldapRun(client net.Conn, t *testing.T) { + lm := NewLDAPMatcher() + + //port := types.NewPort("389", types.NewHost("192.168.1.215"), types.TYPE_TCP) + //scanInfo := scaninfo.NewServiceScanInfo(port) + //var ipport string + //ipport = port.Host.Ip + ":" + string(port.Port) + // + //fmt.Println(ipport) + //client, _ := net.Dial("tcp", ipport) + //defer client.Close() + + fmt.Println(lm.PacketCount()) + + for ii := 0; ii < lm.PacketCount(); ii++ { + + pack := lm.Packet(ii) + + bytes := make([]byte, 1024) + + client.Write(pack.Buffer) + + read, _ := client.Read(bytes) + + if read <= 0 { + bb := lm.IsNoResponse(ii) + if bb { + + t.Log("IsNoResponse good") + break + } + + } + + fmt.Println(bytes) + + b := lm.Match(ii, packet.NewPacket(bytes, read), nil) + + if b { + t.Log("Good") + } + + } + + +} + +func TestLdapTls(t *testing.T) { + conn, err := tls.Dial( + "tcp", + "192.168.1.15:636", + &tls.Config{ + InsecureSkipVerify: true, + ServerName: "192.168.1.15", + }, + ) + + if err != nil { + t.Fatal(err) + } + + defer conn.Close() + + ldapRun(conn, t) +} + +func TestLdapNormal(t *testing.T) { + client, _ := net.Dial("tcp", "192.168.1.15:389") + + defer client.Close() + + ldapRun(client, t) +} diff --git a/matcher/pop/pop_test.go b/matcher/pop/pop_test.go index 4e81645..dfa6bb6 100644 --- a/matcher/pop/pop_test.go +++ b/matcher/pop/pop_test.go @@ -1,86 +1,86 @@ package pop -// -//import ( -// "crypto/tls" -// "fmt" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/packet" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/scaninfo" -// "git.loafle.net/overflow/overflow_probe/collector/discovery/types" -// "net" -// "testing" -//) -// -//func TestPopTLS(t *testing.T) { -// conn, _ := tls.Dial( -// "tcp", -// "192.168.1.215:995", -// &tls.Config{ -// InsecureSkipVerify: true, -// ServerName: "192.168.1.215", -// }, -// ) -// -// defer conn.Close() -// -// pop3Run(conn, t) -//} -// -//func TestPopNor(t *testing.T) { -// -// client, _ := net.Dial("tcp", "192.168.1.215:110") -// -// defer client.Close() -// -// pop3Run(client, t) -// -//} -// -//func pop3Run(client net.Conn, t *testing.T) { -// -// lm := NewPOPMatcher() -// -// port := types.NewPort("110", types.NewHost("192.168.1.215"), types.TYPE_TCP) -// scanInfo := scaninfo.NewServiceScanInfo(port) -// var ipport string -// ipport = port.Host.Ip + ":" + string(port.Port) -// -// fmt.Println(ipport) -// -// bytett := make([]byte, 1024) -// -// read, _ := client.Read(bytett) -// -// bb := lm.Match(0, packet.NewPacket(bytett, read), scanInfo) -// -// if bb { -// t.Log("good!") -// } -// -// fmt.Println(lm.PacketCount()) -// -// for ii := 0; ii < lm.PacketCount(); ii++ { -// -// pack := lm.Packet(ii) -// -// //fmt.Println(pack) -// -// client.Write(pack.Buffer) -// -// bytes := make([]byte, 1024) -// -// rr, _ := client.Read(bytes) -// -// //fmt.Println(bytes) -// -// b := lm.Match(ii+1, packet.NewPacket(bytes, rr), scanInfo) -// -// if b { -// t.Log("send Good!") -// } -// -// } -// -// t.Log(scanInfo) -// -//} + +import ( + "crypto/tls" + "fmt" + "git.loafle.net/overflow/overflow_probe/matcher/packet" + + + "net" + "testing" +) + +func TestPopTLS(t *testing.T) { + conn, _ := tls.Dial( + "tcp", + "192.168.1.15:995", + &tls.Config{ + InsecureSkipVerify: true, + ServerName: "192.168.1.15", + }, + ) + + defer conn.Close() + + pop3Run(conn, t) +} + +func TestPopNor(t *testing.T) { + + client, _ := net.Dial("tcp", "192.168.1.15:110") + + defer client.Close() + + pop3Run(client, t) + +} + +func pop3Run(client net.Conn, t *testing.T) { + + lm := NewPOPMatcher() + + //port := types.NewPort("110", types.NewHost("192.168.1.215"), types.TYPE_TCP) + //scanInfo := scaninfo.NewServiceScanInfo(port) + //var ipport string + //ipport = port.Host.Ip + ":" + string(port.Port) + // + //fmt.Println(ipport) + + bytett := make([]byte, 1024) + + read, _ := client.Read(bytett) + + bb := lm.Match(0, packet.NewPacket(bytett, read), nil) + + if bb { + t.Log("good!") + } + + fmt.Println(lm.PacketCount()) + + for ii := 0; ii < lm.PacketCount(); ii++ { + + pack := lm.Packet(ii) + + //fmt.Println(pack) + + client.Write(pack.Buffer) + + bytes := make([]byte, 1024) + + rr, _ := client.Read(bytes) + + //fmt.Println(bytes) + + b := lm.Match(ii+1, packet.NewPacket(bytes, rr), nil) + + if b { + t.Log("send Good!") + } + + } + + + +}