fixed test
This commit is contained in:
		
							parent
							
								
									ac55bd8435
								
							
						
					
					
						commit
						e2c14584b6
					
				@ -4,10 +4,12 @@ import (
 | 
			
		||||
	"crypto/tls"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestADNor(t *testing.T) {
 | 
			
		||||
	client, err := net.Dial("tcp", "192.168.1.1:389")
 | 
			
		||||
	client, err := net.Dial("tcp", "192.168.1.15:389")
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Log(err)
 | 
			
		||||
@ -40,8 +42,8 @@ func TestADTLS(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
func dDRun(client net.Conn, t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	//lm := NewActiveDirectoryMatcher()
 | 
			
		||||
	//
 | 
			
		||||
	lm := NewActiveDirectoryMatcher()
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("389", types.NewHost("192.168.1.1"), types.TYPE_TCP)
 | 
			
		||||
	//
 | 
			
		||||
	//var ipport string
 | 
			
		||||
@ -50,28 +52,28 @@ func dDRun(client net.Conn, t *testing.T) {
 | 
			
		||||
	//fmt.Println(ipport)
 | 
			
		||||
	//
 | 
			
		||||
	//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(bytes)
 | 
			
		||||
	//
 | 
			
		||||
	//	b := lm.Match(ii, packet.NewPacket(bytes, read), scanInfo)
 | 
			
		||||
	//
 | 
			
		||||
	//	if b {
 | 
			
		||||
	//		fmt.Println("Good")
 | 
			
		||||
	//	}
 | 
			
		||||
	//
 | 
			
		||||
	//}
 | 
			
		||||
	//
 | 
			
		||||
	//t.Log(scanInfo)
 | 
			
		||||
 | 
			
		||||
	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(bytes)
 | 
			
		||||
 | 
			
		||||
		b := lm.Match(ii, packet.NewPacket(bytes, read), nil)
 | 
			
		||||
 | 
			
		||||
		if b {
 | 
			
		||||
			fmt.Println("Good")
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,188 +1,190 @@
 | 
			
		||||
package dhcp
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
//import (
 | 
			
		||||
//	"bytes"
 | 
			
		||||
//	"encoding/binary"
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	log "github.com/cihub/seelog"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/matcher"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"time"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//const (
 | 
			
		||||
//	MAGIC_COOKIE               uint32 = 0x63825363
 | 
			
		||||
//	OPT_CODE_SERVER_IDENTIFIER uint8  = 54
 | 
			
		||||
//	OPT_CODE_SUBNET_MASK       uint8  = 1
 | 
			
		||||
//	OPT_CODE_ROUTER            uint8  = 3
 | 
			
		||||
//	OPT_CODE_DNS               uint8  = 6
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//type dhcpDiscover struct {
 | 
			
		||||
//	MsgType             byte
 | 
			
		||||
//	HwType              byte
 | 
			
		||||
//	HwAddrLen           byte
 | 
			
		||||
//	Hops                byte
 | 
			
		||||
//	Xid                 uint32
 | 
			
		||||
//	Secs                uint16
 | 
			
		||||
//	BootpFlags          uint16
 | 
			
		||||
//	ClientIp            uint32
 | 
			
		||||
//	YourIp              uint32
 | 
			
		||||
//	NextServerIp        uint32
 | 
			
		||||
//	RelayAgentIp        uint32
 | 
			
		||||
//	ClientMacAddr       [6]byte
 | 
			
		||||
//	ClientHwAddrPadding [10]byte
 | 
			
		||||
//	ServerHostName      [64]byte
 | 
			
		||||
//	BootFileName        [128]byte
 | 
			
		||||
//	MagicCookie         uint32
 | 
			
		||||
//	Mtype               byte
 | 
			
		||||
//	MtypeLen            byte
 | 
			
		||||
//	MtypeVal            byte
 | 
			
		||||
//	Opts                [200]byte
 | 
			
		||||
//	End                 byte
 | 
			
		||||
//	Padding             [16]byte
 | 
			
		||||
//}
 | 
			
		||||
//
 | 
			
		||||
//func DiscoverDHCP(zone *types.DiscoveryZone) {
 | 
			
		||||
//	err := sendDHCPDiscovery()
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		log.Error(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//	recvDHCPOffer(zone)
 | 
			
		||||
//}
 | 
			
		||||
//
 | 
			
		||||
//func sendDHCPDiscovery() error {
 | 
			
		||||
//	dhcp := dhcpDiscover{
 | 
			
		||||
//		MsgType:      0x01,
 | 
			
		||||
//		HwType:       0x01,
 | 
			
		||||
//		HwAddrLen:    0x06,
 | 
			
		||||
//		Hops:         0x00,
 | 
			
		||||
//		Xid:          0x00000000,
 | 
			
		||||
//		Secs:         0x0000,
 | 
			
		||||
//		ClientIp:     0x00000000,
 | 
			
		||||
//		YourIp:       0x00000000,
 | 
			
		||||
//		NextServerIp: 0x00000000,
 | 
			
		||||
//		RelayAgentIp: 0x00000000,
 | 
			
		||||
//		MagicCookie:  MAGIC_COOKIE,
 | 
			
		||||
//		Mtype:        0x35,
 | 
			
		||||
//		MtypeLen:     0x01,
 | 
			
		||||
//		MtypeVal:     0x01,
 | 
			
		||||
//		End:          0xff,
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	var flag uint16 = 0
 | 
			
		||||
//	dhcp.BootpFlags = ^flag // flag = unicast , ^flag = broadcast
 | 
			
		||||
//
 | 
			
		||||
//	//TODO : getting mac addr from zone
 | 
			
		||||
//	dhcp.ClientMacAddr[0] = 0x50
 | 
			
		||||
//	dhcp.ClientMacAddr[1] = 0xe5
 | 
			
		||||
//	dhcp.ClientMacAddr[2] = 0x49
 | 
			
		||||
//	dhcp.ClientMacAddr[3] = 0x46
 | 
			
		||||
//	dhcp.ClientMacAddr[4] = 0x93
 | 
			
		||||
//	dhcp.ClientMacAddr[5] = 0x28
 | 
			
		||||
//
 | 
			
		||||
//	writer := new(bytes.Buffer)
 | 
			
		||||
//	binary.Write(writer, binary.BigEndian, dhcp)
 | 
			
		||||
//	conn, err := net.Dial("udp", "255.255.255.255:67")
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		return err
 | 
			
		||||
//	}
 | 
			
		||||
//	conn.Write(writer.Bytes())
 | 
			
		||||
//	defer conn.Close()
 | 
			
		||||
//
 | 
			
		||||
//	return nil
 | 
			
		||||
//}
 | 
			
		||||
//
 | 
			
		||||
//func recvDHCPOffer(zone *types.DiscoveryZone) {
 | 
			
		||||
//
 | 
			
		||||
//	socket, err := net.ListenUDP("udp4", &net.UDPAddr{
 | 
			
		||||
//		IP:   net.IPv4(255, 255, 255, 255),
 | 
			
		||||
//		Port: 68,
 | 
			
		||||
//	})
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		log.Error(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//	err = socket.SetDeadline(time.Now().Add(3 * time.Second))
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		log.Error(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	buf := make([]byte, 4096)
 | 
			
		||||
//	n, _, err := socket.ReadFromUDP(buf)
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		log.Error(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//	if n <= 0 {
 | 
			
		||||
//		log.Error("No DHCP offer.")
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	offer := dhcpDiscover{}
 | 
			
		||||
//
 | 
			
		||||
//	reader := new(bytes.Buffer)
 | 
			
		||||
//	reader.Write(buf)
 | 
			
		||||
//	if err := binary.Read(reader, binary.BigEndian, &offer); err != nil {
 | 
			
		||||
//		log.Error(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//	if offer.MagicCookie != MAGIC_COOKIE {
 | 
			
		||||
//		log.Error("Not a DHCP packet.")
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	//option searching
 | 
			
		||||
//	r := new(bytes.Buffer)
 | 
			
		||||
//	r.Write(offer.Opts[:])
 | 
			
		||||
//
 | 
			
		||||
//	for i := 0; i < r.Len(); i++ {
 | 
			
		||||
//		v := r.Next(1)[0]
 | 
			
		||||
//
 | 
			
		||||
//		if v == OPT_CODE_SUBNET_MASK && r.Next(1)[0] == 4 {
 | 
			
		||||
//			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
//			log.Infof("SUBNET MASK: %s", ipStr)
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		if v == OPT_CODE_ROUTER && r.Next(1)[0] == 4 {
 | 
			
		||||
//			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
//			log.Infof("ROUTER: %s", ipStr)
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		if v == OPT_CODE_DNS {
 | 
			
		||||
//			len := r.Next(1)[0]
 | 
			
		||||
//			var dns []string = make([]string, 0)
 | 
			
		||||
//			var ipStr string
 | 
			
		||||
//			ipStr = byteToIpString(r.Next(4))
 | 
			
		||||
//			dns = append(dns, ipStr)
 | 
			
		||||
//			if len == 8 {
 | 
			
		||||
//				ipStr = byteToIpString(r.Next(4))
 | 
			
		||||
//				dns = append(dns, ipStr)
 | 
			
		||||
//			}
 | 
			
		||||
//			log.Infof("DNS", dns)
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		if v == OPT_CODE_SERVER_IDENTIFIER && r.Next(1)[0] == 4 {
 | 
			
		||||
//			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
//			log.Infof("DHCP SERVER: %s", ipStr)
 | 
			
		||||
//		}
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
//
 | 
			
		||||
//func byteToIpString(b []byte) string {
 | 
			
		||||
//	var ipStr string
 | 
			
		||||
//	len := len(b)
 | 
			
		||||
//	for i := 0; i < len; i++ {
 | 
			
		||||
//		v := b[i]
 | 
			
		||||
//		ipStr += fmt.Sprintf("%d", v)
 | 
			
		||||
//		if i < len-1 {
 | 
			
		||||
//			ipStr += "."
 | 
			
		||||
//		}
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	return ipStr
 | 
			
		||||
//}
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	log "github.com/cihub/seelog"
 | 
			
		||||
	//"git.loafle.net/overflow/overflow_probe/matcher"
 | 
			
		||||
	"net"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/discovery/discovery/types"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	MAGIC_COOKIE               uint32 = 0x63825363
 | 
			
		||||
	OPT_CODE_SERVER_IDENTIFIER uint8  = 54
 | 
			
		||||
	OPT_CODE_SUBNET_MASK       uint8  = 1
 | 
			
		||||
	OPT_CODE_ROUTER            uint8  = 3
 | 
			
		||||
	OPT_CODE_DNS               uint8  = 6
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type dhcpDiscover struct {
 | 
			
		||||
	MsgType             byte
 | 
			
		||||
	HwType              byte
 | 
			
		||||
	HwAddrLen           byte
 | 
			
		||||
	Hops                byte
 | 
			
		||||
	Xid                 uint32
 | 
			
		||||
	Secs                uint16
 | 
			
		||||
	BootpFlags          uint16
 | 
			
		||||
	ClientIp            uint32
 | 
			
		||||
	YourIp              uint32
 | 
			
		||||
	NextServerIp        uint32
 | 
			
		||||
	RelayAgentIp        uint32
 | 
			
		||||
	ClientMacAddr       [6]byte
 | 
			
		||||
	ClientHwAddrPadding [10]byte
 | 
			
		||||
	ServerHostName      [64]byte
 | 
			
		||||
	BootFileName        [128]byte
 | 
			
		||||
	MagicCookie         uint32
 | 
			
		||||
	Mtype               byte
 | 
			
		||||
	MtypeLen            byte
 | 
			
		||||
	MtypeVal            byte
 | 
			
		||||
	Opts                [200]byte
 | 
			
		||||
	End                 byte
 | 
			
		||||
	Padding             [16]byte
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func DiscoverDHCP(zone *types.DiscoveryZone) {
 | 
			
		||||
	err := sendDHCPDiscovery()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	recvDHCPOffer(zone)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func sendDHCPDiscovery() error {
 | 
			
		||||
	dhcp := dhcpDiscover{
 | 
			
		||||
		MsgType:      0x01,
 | 
			
		||||
		HwType:       0x01,
 | 
			
		||||
		HwAddrLen:    0x06,
 | 
			
		||||
		Hops:         0x00,
 | 
			
		||||
		Xid:          0x00000000,
 | 
			
		||||
		Secs:         0x0000,
 | 
			
		||||
		ClientIp:     0x00000000,
 | 
			
		||||
		YourIp:       0x00000000,
 | 
			
		||||
		NextServerIp: 0x00000000,
 | 
			
		||||
		RelayAgentIp: 0x00000000,
 | 
			
		||||
		MagicCookie:  MAGIC_COOKIE,
 | 
			
		||||
		Mtype:        0x35,
 | 
			
		||||
		MtypeLen:     0x01,
 | 
			
		||||
		MtypeVal:     0x01,
 | 
			
		||||
		End:          0xff,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var flag uint16 = 0
 | 
			
		||||
	dhcp.BootpFlags = ^flag // flag = unicast , ^flag = broadcast
 | 
			
		||||
 | 
			
		||||
	//TODO : getting mac addr from zone
 | 
			
		||||
	dhcp.ClientMacAddr[0] = 0x50
 | 
			
		||||
	dhcp.ClientMacAddr[1] = 0xe5
 | 
			
		||||
	dhcp.ClientMacAddr[2] = 0x49
 | 
			
		||||
	dhcp.ClientMacAddr[3] = 0x46
 | 
			
		||||
	dhcp.ClientMacAddr[4] = 0x93
 | 
			
		||||
	dhcp.ClientMacAddr[5] = 0x28
 | 
			
		||||
 | 
			
		||||
	writer := new(bytes.Buffer)
 | 
			
		||||
	binary.Write(writer, binary.BigEndian, dhcp)
 | 
			
		||||
	conn, err := net.Dial("udp", "255.255.255.255:67")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	conn.Write(writer.Bytes())
 | 
			
		||||
	defer conn.Close()
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func recvDHCPOffer(zone *types.DiscoveryZone) {
 | 
			
		||||
 | 
			
		||||
	socket, err := net.ListenUDP("udp4", &net.UDPAddr{
 | 
			
		||||
		IP:   net.IPv4(255, 255, 255, 255),
 | 
			
		||||
		Port: 68,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	err = socket.SetDeadline(time.Now().Add(3 * time.Second))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	buf := make([]byte, 4096)
 | 
			
		||||
	n, _, err := socket.ReadFromUDP(buf)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if n <= 0 {
 | 
			
		||||
		log.Error("No DHCP offer.")
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	offer := dhcpDiscover{}
 | 
			
		||||
 | 
			
		||||
	reader := new(bytes.Buffer)
 | 
			
		||||
	reader.Write(buf)
 | 
			
		||||
	if err := binary.Read(reader, binary.BigEndian, &offer); err != nil {
 | 
			
		||||
		log.Error(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if offer.MagicCookie != MAGIC_COOKIE {
 | 
			
		||||
		log.Error("Not a DHCP packet.")
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//option searching
 | 
			
		||||
	r := new(bytes.Buffer)
 | 
			
		||||
	r.Write(offer.Opts[:])
 | 
			
		||||
 | 
			
		||||
	for i := 0; i < r.Len(); i++ {
 | 
			
		||||
		v := r.Next(1)[0]
 | 
			
		||||
 | 
			
		||||
		if v == OPT_CODE_SUBNET_MASK && r.Next(1)[0] == 4 {
 | 
			
		||||
			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
			log.Infof("SUBNET MASK: %s", ipStr)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if v == OPT_CODE_ROUTER && r.Next(1)[0] == 4 {
 | 
			
		||||
			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
			log.Infof("ROUTER: %s", ipStr)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if v == OPT_CODE_DNS {
 | 
			
		||||
			len := r.Next(1)[0]
 | 
			
		||||
			var dns []string = make([]string, 0)
 | 
			
		||||
			var ipStr string
 | 
			
		||||
			ipStr = byteToIpString(r.Next(4))
 | 
			
		||||
			dns = append(dns, ipStr)
 | 
			
		||||
			if len == 8 {
 | 
			
		||||
				ipStr = byteToIpString(r.Next(4))
 | 
			
		||||
				dns = append(dns, ipStr)
 | 
			
		||||
			}
 | 
			
		||||
			log.Infof("DNS", dns)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if v == OPT_CODE_SERVER_IDENTIFIER && r.Next(1)[0] == 4 {
 | 
			
		||||
			ipStr := byteToIpString(r.Next(4))
 | 
			
		||||
			log.Infof("DHCP SERVER: %s", ipStr)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func byteToIpString(b []byte) string {
 | 
			
		||||
	var ipStr string
 | 
			
		||||
	len := len(b)
 | 
			
		||||
	for i := 0; i < len; i++ {
 | 
			
		||||
		v := b[i]
 | 
			
		||||
		ipStr += fmt.Sprintf("%d", v)
 | 
			
		||||
		if i < len-1 {
 | 
			
		||||
			ipStr += "."
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return ipStr
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,12 +1,12 @@
 | 
			
		||||
package dhcp
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
//import (
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/zone"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestDHCP(t *testing.T) {
 | 
			
		||||
//	zone := zone.NewZone()
 | 
			
		||||
//	DiscoverDHCP(zone)
 | 
			
		||||
//}
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/discovery/core/scan/zone"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestDHCP(t *testing.T) {
 | 
			
		||||
	zone := zone.NewZone()
 | 
			
		||||
	DiscoverDHCP(zone)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,33 +1,33 @@
 | 
			
		||||
package dns
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestDns(t *testing.T) {
 | 
			
		||||
//	m := NewDnsMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	conn, _ := net.Dial("udp", "192.168.1.215: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 := packet.NewPacket(bytes, n)
 | 
			
		||||
//
 | 
			
		||||
//		if m.Match(i, p, nil) {
 | 
			
		||||
//			t.Log("dns found")
 | 
			
		||||
//			return
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		t.Error("dns not found")
 | 
			
		||||
//	}
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestDns(t *testing.T) {
 | 
			
		||||
	m := NewDnsMatcher()
 | 
			
		||||
 | 
			
		||||
	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 := packet.NewPacket(bytes, n)
 | 
			
		||||
 | 
			
		||||
		if m.Match(i, p, nil) {
 | 
			
		||||
			t.Log("dns found")
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		t.Error("dns not found")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,49 +1,49 @@
 | 
			
		||||
package http
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/discovery/types"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestHTTPMatcher_Packet(t *testing.T) {
 | 
			
		||||
//	hm := NewHTTPMatcher()
 | 
			
		||||
//	fmt.Println(hm)
 | 
			
		||||
//	fmt.Println(hm.sendPackets[0])
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
//
 | 
			
		||||
//func TestHTTPMatcher_Match(t *testing.T) {
 | 
			
		||||
//	fmt.Println("Match")
 | 
			
		||||
//
 | 
			
		||||
//	hm := NewHTTPMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	port := types.NewPort("80", types.NewHost("192.168.1.103"), types.TYPE_TCP)
 | 
			
		||||
//
 | 
			
		||||
//	var ipport string
 | 
			
		||||
//	ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(ipport)
 | 
			
		||||
//
 | 
			
		||||
//	client, _ := net.Dial("tcp", ipport)
 | 
			
		||||
//
 | 
			
		||||
//	defer client.Close()
 | 
			
		||||
//
 | 
			
		||||
//	pack := hm.Packet(0)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(pack)
 | 
			
		||||
//
 | 
			
		||||
//	//writer.WriteString(pack)
 | 
			
		||||
//	client.Write(pack.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//	bytes := make([]byte, 512)
 | 
			
		||||
//
 | 
			
		||||
//	l, _ := client.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	hm.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	//"git.loafle.net/overflow/overflow_probe/discovery/discovery/types"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestHTTPMatcher_Packet(t *testing.T) {
 | 
			
		||||
	hm := NewHTTPMatcher()
 | 
			
		||||
	fmt.Println(hm)
 | 
			
		||||
	fmt.Println(hm.sendPackets[0])
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestHTTPMatcher_Match(t *testing.T) {
 | 
			
		||||
	fmt.Println("Match")
 | 
			
		||||
 | 
			
		||||
	hm := NewHTTPMatcher()
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("80", types.NewHost("192.168.1.103"), types.TYPE_TCP)
 | 
			
		||||
	//
 | 
			
		||||
	//var ipport string
 | 
			
		||||
	//ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(ipport)
 | 
			
		||||
 | 
			
		||||
	client, _ := net.Dial("tcp", "192.168.1.15:38980")
 | 
			
		||||
 | 
			
		||||
	defer client.Close()
 | 
			
		||||
 | 
			
		||||
	pack := hm.Packet(0)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(pack)
 | 
			
		||||
 | 
			
		||||
	//writer.WriteString(pack)
 | 
			
		||||
	client.Write(pack.Buffer)
 | 
			
		||||
 | 
			
		||||
	bytes := make([]byte, 512)
 | 
			
		||||
 | 
			
		||||
	l, _ := client.Read(bytes)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(bytes)
 | 
			
		||||
 | 
			
		||||
	hm.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,55 +1,55 @@
 | 
			
		||||
package http
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"crypto/tls"
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/discovery/scan/matcher/packet"
 | 
			
		||||
//	"log"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//	"time"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestHTTPSMatcher_Match(t *testing.T) {
 | 
			
		||||
//	netinfo := "192.168.1.1:443"
 | 
			
		||||
//	dialer := &net.Dialer{
 | 
			
		||||
//		Timeout: 5 * time.Second,
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	conn, err := tls.DialWithDialer(
 | 
			
		||||
//		dialer,
 | 
			
		||||
//		"tcp",
 | 
			
		||||
//		netinfo,
 | 
			
		||||
//		&tls.Config{
 | 
			
		||||
//			InsecureSkipVerify: true,
 | 
			
		||||
//			ServerName:         "192.168.1.103",
 | 
			
		||||
//		},
 | 
			
		||||
//	)
 | 
			
		||||
//
 | 
			
		||||
//	if err != nil {
 | 
			
		||||
//		log.Println(err)
 | 
			
		||||
//		return
 | 
			
		||||
//	}
 | 
			
		||||
//	defer conn.Close()
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(conn)
 | 
			
		||||
//	h := NewHTTPMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	pac := h.Packet(0)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(pac)
 | 
			
		||||
//	//fmt.Println(pac.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//	//bytes := make([]byte, 1024)
 | 
			
		||||
//
 | 
			
		||||
//	l, _ := conn.Write(pac.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//	buf := make([]byte, 1024)
 | 
			
		||||
//	l, _ = conn.Read(buf)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(string(buf))
 | 
			
		||||
//	fmt.Println(l)
 | 
			
		||||
//	is := h.Match(0, packet.NewPacket(buf, l), nil)
 | 
			
		||||
//	fmt.Println(is)
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"crypto/tls"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	"log"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestHTTPSMatcher_Match(t *testing.T) {
 | 
			
		||||
	netinfo := "192.168.1.10:10443"
 | 
			
		||||
	dialer := &net.Dialer{
 | 
			
		||||
		Timeout: 5 * time.Second,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	conn, err := tls.DialWithDialer(
 | 
			
		||||
		dialer,
 | 
			
		||||
		"tcp",
 | 
			
		||||
		netinfo,
 | 
			
		||||
		&tls.Config{
 | 
			
		||||
			InsecureSkipVerify: true,
 | 
			
		||||
			ServerName:         "192.168.1.103",
 | 
			
		||||
		},
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Println(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	defer conn.Close()
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(conn)
 | 
			
		||||
	h := NewHTTPMatcher()
 | 
			
		||||
 | 
			
		||||
	pac := h.Packet(0)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(pac)
 | 
			
		||||
	//fmt.Println(pac.Buffer)
 | 
			
		||||
 | 
			
		||||
	//bytes := make([]byte, 1024)
 | 
			
		||||
 | 
			
		||||
	l, _ := conn.Write(pac.Buffer)
 | 
			
		||||
 | 
			
		||||
	buf := make([]byte, 1024)
 | 
			
		||||
	l, _ = conn.Read(buf)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(string(buf))
 | 
			
		||||
	fmt.Println(l)
 | 
			
		||||
	is := h.Match(0, packet.NewPacket(buf, l), nil)
 | 
			
		||||
	fmt.Println(is)
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@ func TestMySql(t *testing.T) {
 | 
			
		||||
	   192.168.1.105:8306 - ssl
 | 
			
		||||
	   192.168.1.203:3306 - mysql with error code
 | 
			
		||||
	*/
 | 
			
		||||
	conn, _ := net.Dial("tcp", "192.168.1.15:3306")
 | 
			
		||||
	conn, _ := net.Dial("tcp", "192.168.1.15:33068")
 | 
			
		||||
 | 
			
		||||
	defer conn.Close()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,48 +1,52 @@
 | 
			
		||||
package rmi
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/discovery/types"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestNew(t *testing.T) {
 | 
			
		||||
//	r := NewRMIMatcher()
 | 
			
		||||
//	fmt.Println("TestNew: ", r)
 | 
			
		||||
//}
 | 
			
		||||
//func TestRMIMatcher_Match(t *testing.T) {
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println("Match")
 | 
			
		||||
//
 | 
			
		||||
//	hm := NewRMIMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	port := types.NewPort("9840", types.NewHost("192.168.1.101"), types.TYPE_TCP)
 | 
			
		||||
//
 | 
			
		||||
//	var ipport string
 | 
			
		||||
//	ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(ipport)
 | 
			
		||||
//
 | 
			
		||||
//	client, _ := net.Dial("tcp", ipport)
 | 
			
		||||
//
 | 
			
		||||
//	defer client.Close()
 | 
			
		||||
//
 | 
			
		||||
//	pack := hm.Packet(0)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(pack.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//	//writer.WriteString(pack)
 | 
			
		||||
//	client.Write(pack.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//	bytes := make([]byte, 512)
 | 
			
		||||
//
 | 
			
		||||
//	l, _ := client.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	//fmt.Println(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	t1 := hm.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(t1)
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	//"git.loafle.net/overflow/overflow_probe/discovery/discovery/types"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestNew(t *testing.T) {
 | 
			
		||||
	r := NewRMIMatcher()
 | 
			
		||||
	fmt.Println("TestNew: ", r)
 | 
			
		||||
}
 | 
			
		||||
func TestRMIMatcher_Match(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	fmt.Println("Match")
 | 
			
		||||
 | 
			
		||||
	hm := NewRMIMatcher()
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("9840", types.NewHost("192.168.1.101"), types.TYPE_TCP)
 | 
			
		||||
	//
 | 
			
		||||
	//var ipport string
 | 
			
		||||
	//ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(ipport)
 | 
			
		||||
 | 
			
		||||
	client, err := net.Dial("tcp", "192.168.1.101:9840")
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	defer client.Close()
 | 
			
		||||
 | 
			
		||||
	pack := hm.Packet(0)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(pack.Buffer)
 | 
			
		||||
 | 
			
		||||
	//writer.WriteString(pack)
 | 
			
		||||
	client.Write(pack.Buffer)
 | 
			
		||||
 | 
			
		||||
	bytes := make([]byte, 512)
 | 
			
		||||
 | 
			
		||||
	l, _ := client.Read(bytes)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(bytes)
 | 
			
		||||
 | 
			
		||||
	t1 := hm.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(t1)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,37 +1,42 @@
 | 
			
		||||
package smb
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//const (
 | 
			
		||||
//	ADDR string = "192.168.1.104:139"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestSMBMatcher(t *testing.T) {
 | 
			
		||||
//
 | 
			
		||||
//	m := NewSMBMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	conn, _ := net.Dial("tcp", ADDR)
 | 
			
		||||
//	defer conn.Close()
 | 
			
		||||
//
 | 
			
		||||
//	for i := 0; i < m.PacketCount(); i++ {
 | 
			
		||||
//
 | 
			
		||||
//		pack := m.Packet(i)
 | 
			
		||||
//		conn.Write(pack.Buffer)
 | 
			
		||||
//		bytes := make([]byte, 1024)
 | 
			
		||||
//		n, _ := conn.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//		p := packet.NewPacket(bytes, n)
 | 
			
		||||
//
 | 
			
		||||
//		if m.Match(i, p, nil) {
 | 
			
		||||
//			t.Log("SMB found.")
 | 
			
		||||
//			return
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//		t.Error("SMB not found")
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	ADDR string = "192.168.1.106:139"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestSMBMatcher(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	m := NewSMBMatcher()
 | 
			
		||||
 | 
			
		||||
	conn, err := net.Dial("tcp", ADDR)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	defer conn.Close()
 | 
			
		||||
 | 
			
		||||
	for i := 0; i < m.PacketCount(); i++ {
 | 
			
		||||
 | 
			
		||||
		pack := m.Packet(i)
 | 
			
		||||
		conn.Write(pack.Buffer)
 | 
			
		||||
		bytes := make([]byte, 1024)
 | 
			
		||||
		n, _ := conn.Read(bytes)
 | 
			
		||||
 | 
			
		||||
		p := packet.NewPacket(bytes, n)
 | 
			
		||||
 | 
			
		||||
		if m.Match(i, p, nil) {
 | 
			
		||||
			t.Log("SMB found.")
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		t.Error("SMB not found")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,33 +1,35 @@
 | 
			
		||||
package ssh
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/discovery/types"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestSSHMatcher_Match(t *testing.T) {
 | 
			
		||||
//
 | 
			
		||||
//	port := types.NewPort("22", types.NewHost("192.168.1.103"), types.TYPE_TCP)
 | 
			
		||||
//	ssh := NewSSHMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	var ipport string
 | 
			
		||||
//	ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
//
 | 
			
		||||
//	client, _ := net.Dial("tcp", ipport)
 | 
			
		||||
//
 | 
			
		||||
//	defer client.Close()
 | 
			
		||||
//
 | 
			
		||||
//	bytes := make([]byte, 512)
 | 
			
		||||
//
 | 
			
		||||
//	l, _ := client.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	b := ssh.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(b)
 | 
			
		||||
//
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	//"git.loafle.net/overflow/overflow_probe/matcher/ssh"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
	//"git.loafle.net/overflow/overflow_probe/collector/discovery/types"
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestSSHMatcher_Match(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("22", types.NewHost("192.168.1.103"), types.TYPE_TCP)
 | 
			
		||||
	//ssh := NewSSHMatcher()
 | 
			
		||||
	//
 | 
			
		||||
	//var ipport string
 | 
			
		||||
	//ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
 | 
			
		||||
	client, _ := net.Dial("tcp", "192.168.1.10:22")
 | 
			
		||||
 | 
			
		||||
	defer client.Close()
 | 
			
		||||
 | 
			
		||||
	bytes := make([]byte, 512)
 | 
			
		||||
 | 
			
		||||
	l, _ := client.Read(bytes)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(bytes)
 | 
			
		||||
 | 
			
		||||
	b := NewSSHMatcher().Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(b)
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,33 +1,33 @@
 | 
			
		||||
package telnet
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"fmt"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/core/scan/service/matcher/packet"
 | 
			
		||||
//	"git.loafle.net/overflow/overflow_probe/collector/discovery/types"
 | 
			
		||||
//	"net"
 | 
			
		||||
//	"testing"
 | 
			
		||||
//)
 | 
			
		||||
//
 | 
			
		||||
//func TestTelnetMatcher_Match(t *testing.T) {
 | 
			
		||||
//
 | 
			
		||||
//	port := types.NewPort("23", types.NewHost("192.168.1.210"), types.TYPE_TCP)
 | 
			
		||||
//	telnet := NewTelnetMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	var ipport string
 | 
			
		||||
//	ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
//
 | 
			
		||||
//	client, _ := net.Dial("tcp", ipport)
 | 
			
		||||
//
 | 
			
		||||
//	defer client.Close()
 | 
			
		||||
//
 | 
			
		||||
//	bytes := make([]byte, 512)
 | 
			
		||||
//
 | 
			
		||||
//	l, _ := client.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println("length :", l)
 | 
			
		||||
//	fmt.Println(bytes)
 | 
			
		||||
//
 | 
			
		||||
//	b := telnet.Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
//
 | 
			
		||||
//	fmt.Println(b)
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
 | 
			
		||||
 | 
			
		||||
	"net"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestTelnetMatcher_Match(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("23", types.NewHost("192.168.1.210"), types.TYPE_TCP)
 | 
			
		||||
	//telnet := NewTelnetMatcher()
 | 
			
		||||
	//
 | 
			
		||||
	//var ipport string
 | 
			
		||||
	//ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
 | 
			
		||||
	client, _ := net.Dial("tcp", "192.168.1.105:23")
 | 
			
		||||
 | 
			
		||||
	defer client.Close()
 | 
			
		||||
 | 
			
		||||
	bytes := make([]byte, 512)
 | 
			
		||||
 | 
			
		||||
	l, _ := client.Read(bytes)
 | 
			
		||||
 | 
			
		||||
	fmt.Println("length :", l)
 | 
			
		||||
	fmt.Println(bytes)
 | 
			
		||||
 | 
			
		||||
	b := NewTelnetMatcher().Match(0, packet.NewPacket(bytes, l), nil)
 | 
			
		||||
 | 
			
		||||
	fmt.Println(b)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,51 +1,51 @@
 | 
			
		||||
package wmi
 | 
			
		||||
 | 
			
		||||
//import (
 | 
			
		||||
//	"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 TestWMI(t *testing.T) {
 | 
			
		||||
//
 | 
			
		||||
//	lm := NewWMIMatcher()
 | 
			
		||||
//
 | 
			
		||||
//	port := types.NewPort("135", types.NewHost("192.168.1.1"), 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)
 | 
			
		||||
//
 | 
			
		||||
//		fmt.Println(pack)
 | 
			
		||||
//
 | 
			
		||||
//		client.Write(pack.Buffer)
 | 
			
		||||
//
 | 
			
		||||
//		bytes := make([]byte, 1024)
 | 
			
		||||
//
 | 
			
		||||
//		read, _ := client.Read(bytes)
 | 
			
		||||
//
 | 
			
		||||
//		//fmt.Println(bytes)
 | 
			
		||||
//
 | 
			
		||||
//		b := lm.Match(ii, packet.NewPacket(bytes, read), scanInfo)
 | 
			
		||||
//
 | 
			
		||||
//		if b {
 | 
			
		||||
//			fmt.Println("Good")
 | 
			
		||||
//		}
 | 
			
		||||
//
 | 
			
		||||
//	}
 | 
			
		||||
//
 | 
			
		||||
//	t.Log(scanInfo)
 | 
			
		||||
//}
 | 
			
		||||
import (
 | 
			
		||||
	"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 TestWMI(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	lm := NewWMIMatcher()
 | 
			
		||||
 | 
			
		||||
	//port := types.NewPort("135", types.NewHost("192.168.1.1"), types.TYPE_TCP)
 | 
			
		||||
	//scanInfo := scaninfo.NewServiceScanInfo(port)
 | 
			
		||||
	//var ipport string
 | 
			
		||||
	//ipport = port.Host.Ip + ":" + string(port.Port)
 | 
			
		||||
 | 
			
		||||
	//fmt.Println(ipport)
 | 
			
		||||
	client, _ := net.Dial("tcp", "192.168.1.106:135")
 | 
			
		||||
 | 
			
		||||
	defer client.Close()
 | 
			
		||||
 | 
			
		||||
	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(bytes)
 | 
			
		||||
 | 
			
		||||
		b := lm.Match(ii, packet.NewPacket(bytes, read), nil)
 | 
			
		||||
 | 
			
		||||
		if b {
 | 
			
		||||
			fmt.Println("Good")
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user