overflow_probe/matcher/ftp/ftp_test.go
2017-08-07 14:31:08 +09:00

236 lines
5.4 KiB
Go

package ftp
//import (
// "fmt"
// "testing"
//
// "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())
//}