From 14ddc4feba316e94f3be81d743060db19ea9a578 Mon Sep 17 00:00:00 2001 From: insanity Date: Wed, 15 Aug 2018 16:17:18 +0900 Subject: [PATCH] import path --- Gopkg.lock | 2 +- Gopkg.toml | 2 +- activedirectory/activedirectory.go | 22 +-- activedirectory/activedirectory_test.go | 4 +- cassandra/cassandra.go | 24 +-- cassandra/cassandra_test.go | 4 +- dns/dns.go | 36 ++-- dns/dns_test.go | 4 +- elasticsearch/elasticsearch.go | 32 ++-- elasticsearch/elasticsearch_test.go | 4 +- ftp/ftp.go | 24 +-- ftp/ftp_test.go | 6 +- http/http.go | 24 +-- http/http_test.go | 6 +- imap/imap.go | 12 +- imap/imap_test.go | 12 +- ldap/ldap.go | 22 +-- ldap/ldap_test.go | 4 +- lpd/lpd.go | 20 +-- lpd/lpd_test.go | 4 +- mongodb/mongodb.go | 26 +-- mongodb/mongodb_test.go | 4 +- mysql/mysql.go | 24 +-- mysql/mysql_test.go | 4 +- nbss/nbss.go | 20 +-- nbss/nbss_test.go | 4 +- oracle/oracle.go | 12 +- oracle/oracle_test.go | 4 +- pop/pop.go | 12 +- pop/pop_test.go | 6 +- postgresql/postgresql.go | 24 +-- postgresql/postgresql_test.go | 4 +- redis/redis.go | 34 ++-- redis/redis_test.go | 4 +- rmi/rmi.go | 18 +- rmi/rmi_test.go | 4 +- smb/smb.go | 22 +-- smb/smb_test.go | 4 +- smtp/smtp.go | 14 +- snmp/v2/snmpv2.go | 22 +-- snmp/v2/snmpv2_test.go | 4 +- snmp/v3/snmpv3.go | 216 ------------------------ snmp/v3/snmpv3_old.go | 216 ------------------------ snmp/v3/snmpv3_test.go | 37 ---- sqlserver/sqlserver.go | 12 +- sqlserver/sqlserver_test.go | 4 +- ssh/ssh.go | 22 +-- ssh/ssh_test.go | 4 +- telnet/telnet.go | 18 +- telnet/telnet_test.go | 4 +- wmi/wmi.go | 14 +- wmi/wmi_test.go | 4 +- 52 files changed, 310 insertions(+), 779 deletions(-) delete mode 100644 snmp/v3/snmpv3.go delete mode 100644 snmp/v3/snmpv3_old.go delete mode 100644 snmp/v3/snmpv3_test.go diff --git a/Gopkg.lock b/Gopkg.lock index 0121ff7..e4fc914 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -3,7 +3,7 @@ [[projects]] branch = "master" - name = "git.loafle.net/commons/service_matcher-go" + name = "git.loafle.net/overflow/service_matcher-go" packages = [ ".", "snmp" diff --git a/Gopkg.toml b/Gopkg.toml index a315d17..686c565 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -27,7 +27,7 @@ [[constraint]] branch = "master" - name = "git.loafle.net/commons/service_matcher-go" + name = "git.loafle.net/overflow/service_matcher-go" [[constraint]] name = "github.com/stretchr/testify" diff --git a/activedirectory/activedirectory.go b/activedirectory/activedirectory.go index 533186e..05f7275 100644 --- a/activedirectory/activedirectory.go +++ b/activedirectory/activedirectory.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -170,7 +170,7 @@ type AD_RECV struct { } type ActiveDirectoryMatcher struct { - csm.Matchers + osm.Matchers } func (m *ActiveDirectoryMatcher) Key() string { @@ -181,7 +181,7 @@ func (m *ActiveDirectoryMatcher) Name() string { return "ActiveDirectory" } -func (m *ActiveDirectoryMatcher) Meta() csm.Metadata { +func (m *ActiveDirectoryMatcher) Meta() osm.Metadata { return nil } @@ -189,14 +189,14 @@ func (m *ActiveDirectoryMatcher) IsPrePacket() bool { return false } -func (m *ActiveDirectoryMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (m *ActiveDirectoryMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (m *ActiveDirectoryMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (m *ActiveDirectoryMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } buf := new(bytes.Buffer) @@ -207,11 +207,11 @@ func (m *ActiveDirectoryMatcher) Match(info csm.MatchInfo, index int, packet *cs binary.Read(buf, binary.BigEndian, &adRecv) if adRecv.MessageId != AD_MESSAGE_ID { - return csm.NotMatchedError() + return osm.NotMatchedError() } if adRecv.ProtocolOp != LDAP_RES_SEARCH_ENTRY { - return csm.NotMatchedError() + return osm.NotMatchedError() } ///AD_TYPE_STR @@ -233,7 +233,7 @@ func (m *ActiveDirectoryMatcher) Match(info csm.MatchInfo, index int, packet *cs return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { ls := AD_SEND{ DefaultCode: 0x30, @@ -306,7 +306,7 @@ func NewMatcher() csm.Matcher { //sendPackets: make([][]byte, 2), } - pp := csm.NewPacket(sendByte1, len(sendByte1)) + pp := osm.NewPacket(sendByte1, len(sendByte1)) m.AddPacket(pp) @@ -327,7 +327,7 @@ func NewMatcher() csm.Matcher { quBytes := lqBuffer.Bytes() - pp2 := csm.NewPacket(quBytes, len(quBytes)) + pp2 := osm.NewPacket(quBytes, len(quBytes)) m.AddPacket(pp2) diff --git a/activedirectory/activedirectory_test.go b/activedirectory/activedirectory_test.go index 2e6dbf0..6cb277a 100644 --- a/activedirectory/activedirectory_test.go +++ b/activedirectory/activedirectory_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestAD(t *testing.T) { @@ -24,7 +24,7 @@ func TestAD(t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/cassandra/cassandra.go b/cassandra/cassandra.go index 8c19b4d..cb14ada 100644 --- a/cassandra/cassandra.go +++ b/cassandra/cassandra.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type cassandra struct { @@ -16,7 +16,7 @@ type cassandra struct { } type CassandraMatcher struct { - csm.Matchers + osm.Matchers } func (m *CassandraMatcher) Key() string { @@ -27,7 +27,7 @@ func (m *CassandraMatcher) Name() string { return "Cassandra" } -func (m *CassandraMatcher) Meta() csm.Metadata { +func (m *CassandraMatcher) Meta() osm.Metadata { return nil } @@ -39,14 +39,14 @@ func (m *CassandraMatcher) HasResponse(index int) bool { return true } -func (m *CassandraMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (m *CassandraMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (m *CassandraMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (m *CassandraMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -57,23 +57,23 @@ func (m *CassandraMatcher) Match(info csm.MatchInfo, index int, packet *csm.Pack return err } if c.Version != 0x84 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if c.Flags != 0x00 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if c.Stream != 0x00 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if c.Opcode != 0x06 { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &CassandraMatcher{} c := cassandra{ @@ -86,7 +86,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.LittleEndian, c) - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + m.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return m } diff --git a/cassandra/cassandra_test.go b/cassandra/cassandra_test.go index 43712f7..ddbee17 100644 --- a/cassandra/cassandra_test.go +++ b/cassandra/cassandra_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestCassandra(t *testing.T) { @@ -24,7 +24,7 @@ func TestCassandra(t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/dns/dns.go b/dns/dns.go index 404ec46..c7fd48a 100644 --- a/dns/dns.go +++ b/dns/dns.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type Dns_frame_header struct { @@ -38,7 +38,7 @@ type Dns_authority_section struct { } type DNSMatcher struct { - csm.Matchers + osm.Matchers } func (t *DNSMatcher) Key() string { @@ -49,7 +49,7 @@ func (t *DNSMatcher) String() string { return "DNS" } -func (t *DNSMatcher) Meta() csm.Metadata { +func (t *DNSMatcher) Meta() osm.Metadata { return nil } @@ -61,13 +61,13 @@ func (t *DNSMatcher) HasResponse(index int) bool { return true } -func (t *DNSMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *DNSMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (t *DNSMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (t *DNSMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -79,36 +79,36 @@ func (t *DNSMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) er } if h.Transaction_id != 0x2a88 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if h.Flags != 0x8180 && h.Flags != 0x8182 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if h.Questions != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if h.Answer_rrs != 0 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if h.Authority_rrs != 0 && h.Authority_rrs != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if h.Additional_rrs != 0 && h.Additional_rrs != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } q := Dns_query_section{} if err := binary.Read(reader, binary.BigEndian, &q); err != nil { - return csm.NotMatchedError() + return osm.NotMatchedError() } if q.Name != 0 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if q.Query_type != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if q.Class_type != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil @@ -121,7 +121,7 @@ func (t *DNSMatcher) IsSend(port int) bool { return false } -func NewMatcher() csm.UDPMatcher { +func NewMatcher() osm.UDPMatcher { m := &DNSMatcher{} @@ -144,7 +144,7 @@ func NewMatcher() csm.UDPMatcher { binary.Write(buf, binary.BigEndian, header) binary.Write(buf, binary.BigEndian, query) - m.AddPacket(csm.NewPacket(buf.Bytes(), buf.Len())) + m.AddPacket(osm.NewPacket(buf.Bytes(), buf.Len())) return m } diff --git a/dns/dns_test.go b/dns/dns_test.go index c7d9125..03d91bc 100644 --- a/dns/dns_test.go +++ b/dns/dns_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestDns(t *testing.T) { @@ -22,7 +22,7 @@ func TestDns(t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, 0, p); err != nil { t.Error(err) diff --git a/elasticsearch/elasticsearch.go b/elasticsearch/elasticsearch.go index 793661a..dc6a728 100644 --- a/elasticsearch/elasticsearch.go +++ b/elasticsearch/elasticsearch.go @@ -6,12 +6,12 @@ import ( "strconv" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type ElasticSearchMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (es *ElasticSearchMatcher) Key() string { @@ -26,7 +26,7 @@ func (es *ElasticSearchMatcher) Name() string { return name } -func (es *ElasticSearchMatcher) Meta() csm.Metadata { +func (es *ElasticSearchMatcher) Meta() osm.Metadata { return es.meta } @@ -38,14 +38,14 @@ func (es *ElasticSearchMatcher) HasResponse(index int) bool { return true } -func (es *ElasticSearchMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (es *ElasticSearchMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (es *ElasticSearchMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (es *ElasticSearchMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } str := string(packet.Buffer) @@ -64,18 +64,18 @@ func (es *ElasticSearchMatcher) Match(info csm.MatchInfo, index int, packet *csm } if lineNo == 0 && !strings.HasPrefix(line, "HTTP/") { - return csm.NotMatchedError() + return osm.NotMatchedError() } if strings.Contains(line, ":") { kv := strings.Split(line, ": ") if kv[0] == "content-type" && !strings.Contains(kv[1], "application/json") { - return csm.NotMatchedError() + return osm.NotMatchedError() } if kv[0] == "content-length" { len, err := strconv.Atoi(kv[1]) if err != nil { - return csm.NotMatchedError() + return osm.NotMatchedError() } contentLen = len } @@ -84,14 +84,14 @@ func (es *ElasticSearchMatcher) Match(info csm.MatchInfo, index int, packet *csm } content := body[:contentLen] if strings.HasPrefix(content, "{") && strings.HasSuffix(content, "}") { - return csm.NotMatchedError() + return osm.NotMatchedError() } es.parseJson(content) if _, ok := es.meta["cluster_name"]; !ok { - return csm.NotMatchedError() + return osm.NotMatchedError() } if _, ok := es.meta["cluster_uuid"]; !ok { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } @@ -119,16 +119,16 @@ func (es *ElasticSearchMatcher) dumpMap(m map[string]interface{}) { } } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &ElasticSearchMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() reqStr := "GET / HTTP/1.1\r\n\r\n" byte := make([]byte, len(reqStr)) copy(byte[:], reqStr) - m.AddPacket(csm.NewPacket(byte, len(reqStr))) + m.AddPacket(osm.NewPacket(byte, len(reqStr))) return m } diff --git a/elasticsearch/elasticsearch_test.go b/elasticsearch/elasticsearch_test.go index 40ff737..6000c87 100644 --- a/elasticsearch/elasticsearch_test.go +++ b/elasticsearch/elasticsearch_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestES(t *testing.T) { @@ -24,7 +24,7 @@ func TestES(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/ftp/ftp.go b/ftp/ftp.go index 4930dd1..2e76e47 100644 --- a/ftp/ftp.go +++ b/ftp/ftp.go @@ -3,7 +3,7 @@ package ftp import ( "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) // FTP Status codes, defined in RFC 959 @@ -26,8 +26,8 @@ const ( ) type FTPMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (ftp *FTPMatcher) Key() string { @@ -38,7 +38,7 @@ func (ftp *FTPMatcher) Name() string { return "FTP" } -func (ftp *FTPMatcher) Meta() csm.Metadata { +func (ftp *FTPMatcher) Meta() osm.Metadata { return ftp.meta } @@ -50,19 +50,19 @@ func (ftp *FTPMatcher) HasResponse(index int) bool { return true } -func (ftp *FTPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (ftp *FTPMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (ftp *FTPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (ftp *FTPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } str := strings.Split(string(packet.Buffer), "\r\n")[0] if len(str) < 4 { - return csm.NotMatchedError() + return osm.NotMatchedError() } code := str[:3] @@ -79,18 +79,18 @@ func (ftp *FTPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) } } - return csm.NotMatchedError() + return osm.NotMatchedError() } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &FTPMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() quitStr := "QUIT\r\n" quitByte := make([]byte, len(quitStr)) copy(quitByte[:], quitStr) - m.AddPacket(csm.NewPacket(quitByte, len(quitStr))) + m.AddPacket(osm.NewPacket(quitByte, len(quitStr))) return m } diff --git a/ftp/ftp_test.go b/ftp/ftp_test.go index a6bd9b1..1f1cc6f 100644 --- a/ftp/ftp_test.go +++ b/ftp/ftp_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestFTP(t *testing.T) { @@ -27,7 +27,7 @@ func TestFTP(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) @@ -68,7 +68,7 @@ func TestFTPS(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/http/http.go b/http/http.go index cbaeb00..67c8059 100644 --- a/http/http.go +++ b/http/http.go @@ -3,12 +3,12 @@ package http import ( "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type HTTPMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (h *HTTPMatcher) Key() string { @@ -23,7 +23,7 @@ func (h *HTTPMatcher) Name() string { return name } -func (h *HTTPMatcher) Meta() csm.Metadata { +func (h *HTTPMatcher) Meta() osm.Metadata { return h.meta } @@ -35,27 +35,27 @@ func (h *HTTPMatcher) HasResponse(index int) bool { return true } -func (h *HTTPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (h *HTTPMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (h *HTTPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (h *HTTPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } str := string(packet.Buffer) elems := strings.Split(str, "\r\n") if len(elems) <= 0 || 9 > len(elems[0]) { - return csm.NotMatchedError() + return osm.NotMatchedError() } protocol := (elems[0])[:8] if !strings.HasPrefix(protocol, "HTTP/") { - return csm.NotMatchedError() + return osm.NotMatchedError() } serverName := "" @@ -76,16 +76,16 @@ func (h *HTTPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) e return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &HTTPMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() reqStr := "GET / HTTP/1.1\r\n\r\n" byte := make([]byte, len(reqStr)) copy(byte[:], reqStr) - m.AddPacket(csm.NewPacket(byte, len(reqStr))) + m.AddPacket(osm.NewPacket(byte, len(reqStr))) return m } diff --git a/http/http_test.go b/http/http_test.go index dee5767..69e1094 100644 --- a/http/http_test.go +++ b/http/http_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestHTTP(t *testing.T) { @@ -26,7 +26,7 @@ func TestHTTP(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) @@ -65,7 +65,7 @@ func TestHTTPS(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/imap/imap.go b/imap/imap.go index 2750e92..a9cf966 100644 --- a/imap/imap.go +++ b/imap/imap.go @@ -1,7 +1,7 @@ package imap import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -10,7 +10,7 @@ const ( ) type IMAPMatcher struct { - csm.Matchers + osm.Matchers } func (i *IMAPMatcher) Key() string { @@ -29,11 +29,11 @@ func (i *IMAPMatcher) HasResponse(index int) bool { return true } -func (i *IMAPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (i *IMAPMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (i *IMAPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (i *IMAPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { switch index { case 0: @@ -69,7 +69,7 @@ func (i *IMAPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) b return false } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &IMAPMatcher{} @@ -77,7 +77,7 @@ func NewMatcher() csm.Matcher { byte := make([]byte, len(reqStr)) copy(byte[:], reqStr) - m.AddPacket(csm.NewPacket(byte, len(reqStr))) + m.AddPacket(osm.NewPacket(byte, len(reqStr))) return m diff --git a/imap/imap_test.go b/imap/imap_test.go index 51bb9e1..1d4f19b 100644 --- a/imap/imap_test.go +++ b/imap/imap_test.go @@ -6,7 +6,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func ImapRun(client net.Conn, t *testing.T) { @@ -29,7 +29,7 @@ func ImapRun(client net.Conn, t *testing.T) { rr, _ := client.Read(bytett) - bb := lm.Match(nil, 0, csm.NewPacket(bytett, rr)) + bb := lm.Match(nil, 0, osm.NewPacket(bytett, rr)) if bb { t.Log("good!") @@ -53,7 +53,7 @@ func ImapRun(client net.Conn, t *testing.T) { //fmt.Println(bytes) - b := lm.Match(nil, ii+1, csm.NewPacket(bytes, read)) + b := lm.Match(nil, ii+1, osm.NewPacket(bytes, read)) if b { t.Log("send Good!") @@ -113,8 +113,8 @@ func TestImap(t *testing.T) { rr, _ := client.Read(bytett) - //bb := lm.Match(0, csm.NewPacket(bytett, rr), scanInfo) - bb := lm.Match(nil, 0, csm.NewPacket(bytett, rr)) + //bb := lm.Match(0, osm.NewPacket(bytett, rr), scanInfo) + bb := lm.Match(nil, 0, osm.NewPacket(bytett, rr)) if bb { t.Log("good!") @@ -138,7 +138,7 @@ func TestImap(t *testing.T) { //fmt.Println(bytes) - b := lm.Match(nil, ii+1, csm.NewPacket(bytes, read)) + b := lm.Match(nil, ii+1, osm.NewPacket(bytes, read)) if b { t.Log("send Good!") diff --git a/ldap/ldap.go b/ldap/ldap.go index 938b375..5d43e42 100644 --- a/ldap/ldap.go +++ b/ldap/ldap.go @@ -4,7 +4,7 @@ import ( "math/rand" "time" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ber "gopkg.in/asn1-ber.v1" ) @@ -14,7 +14,7 @@ const ( ) type LDAPMatcher struct { - csm.Matchers + osm.Matchers reqID int64 } @@ -26,7 +26,7 @@ func (l *LDAPMatcher) Name() string { return "LDAP" } -func (l *LDAPMatcher) Meta() csm.Metadata { +func (l *LDAPMatcher) Meta() osm.Metadata { return nil } @@ -34,33 +34,33 @@ func (l *LDAPMatcher) IsPrePacket() bool { return false } -func (l *LDAPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (l *LDAPMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (l *LDAPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (l *LDAPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } p := ber.DecodePacket(packet.Buffer) respID, ok := p.Children[0].Value.(int64) if !ok { - return csm.NotMatchedError() + return osm.NotMatchedError() } if respID != l.reqID { - return csm.NotMatchedError() + return osm.NotMatchedError() } if p.Children[1].Tag != ApplicationBindResponse { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &LDAPMatcher{} @@ -75,7 +75,7 @@ func NewMatcher() csm.Matcher { bindRequest.AppendChild(ber.NewString(ber.ClassContext, ber.TypePrimitive, 0, "LOAFLEOVERFLOW", "Password")) p.AppendChild(bindRequest) - m.AddPacket(csm.NewPacket(p.Bytes(), len(p.Bytes()))) + m.AddPacket(osm.NewPacket(p.Bytes(), len(p.Bytes()))) return m diff --git a/ldap/ldap_test.go b/ldap/ldap_test.go index 21c0816..67d23e8 100644 --- a/ldap/ldap_test.go +++ b/ldap/ldap_test.go @@ -7,7 +7,7 @@ import ( "math/rand" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" "gopkg.in/asn1-ber.v1" ) @@ -28,7 +28,7 @@ func TestLdap(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/lpd/lpd.go b/lpd/lpd.go index fa7d683..943821e 100644 --- a/lpd/lpd.go +++ b/lpd/lpd.go @@ -1,19 +1,19 @@ package lpd import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type LPDMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (l *LPDMatcher) Key() string { return "LPD" } -func (l *LPDMatcher) Meta() csm.Metadata { +func (l *LPDMatcher) Meta() osm.Metadata { return l.meta } @@ -29,31 +29,31 @@ func (l *LPDMatcher) HasResponse(index int) bool { return true } -func (l *LPDMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (l *LPDMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (l *LPDMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (l *LPDMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } if packet.Len != 1 { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &LPDMatcher{} reqStr := "GET / HTTP/1.1\r\n\r\n" rbyte := make([]byte, len(reqStr)) copy(rbyte[:], reqStr) - m.AddPacket(csm.NewPacket(rbyte, len(reqStr))) + m.AddPacket(osm.NewPacket(rbyte, len(reqStr))) return m } diff --git a/lpd/lpd_test.go b/lpd/lpd_test.go index 2b32eb5..a3d3320 100644 --- a/lpd/lpd_test.go +++ b/lpd/lpd_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestLDP(t *testing.T) { @@ -24,7 +24,7 @@ func TestLDP(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/mongodb/mongodb.go b/mongodb/mongodb.go index 61f931d..4b19630 100644 --- a/mongodb/mongodb.go +++ b/mongodb/mongodb.go @@ -5,7 +5,7 @@ import ( "encoding/binary" "math/rand" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -47,8 +47,8 @@ type OP_reply struct { } type MongoDBMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (m *MongoDBMatcher) Key() string { @@ -59,7 +59,7 @@ func (m *MongoDBMatcher) Name() string { return "MongoDB" } -func (m *MongoDBMatcher) Meta() csm.Metadata { +func (m *MongoDBMatcher) Meta() osm.Metadata { return m.meta } @@ -71,14 +71,14 @@ func (m *MongoDBMatcher) HasResponse(index int) bool { return true } -func (m *MongoDBMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (m *MongoDBMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (m *MongoDBMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (m *MongoDBMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -90,25 +90,25 @@ func (m *MongoDBMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet } if uint32(packet.Len) != reply.Header.MessageLength { - return csm.NotMatchedError() + return osm.NotMatchedError() } if reply.Header.ResponseTo != MONGO_REQUEST_ID { - return csm.NotMatchedError() + return osm.NotMatchedError() } if reply.Header.OpCode != MONGO_OP_REPLY { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { mm := &MongoDBMatcher{} - mm.meta = csm.NewMetadata() + mm.meta = osm.NewMetadata() tempBuf := new(bytes.Buffer) binary.Write(tempBuf, binary.BigEndian, OP_request{}) @@ -139,7 +139,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.LittleEndian, m) - mm.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + mm.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return mm } diff --git a/mongodb/mongodb_test.go b/mongodb/mongodb_test.go index 7668a07..487e4e0 100644 --- a/mongodb/mongodb_test.go +++ b/mongodb/mongodb_test.go @@ -5,7 +5,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestMongoNor(t *testing.T) { @@ -43,7 +43,7 @@ func MongoRun(conn net.Conn, t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/mysql/mysql.go b/mysql/mysql.go index 72ed077..902a68e 100644 --- a/mysql/mysql.go +++ b/mysql/mysql.go @@ -6,12 +6,12 @@ import ( "io" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type MySqlMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (m *MySqlMatcher) Key() string { @@ -29,7 +29,7 @@ func (m *MySqlMatcher) Name() string { return name } -func (m *MySqlMatcher) Meta() csm.Metadata { +func (m *MySqlMatcher) Meta() osm.Metadata { return m.meta } @@ -41,7 +41,7 @@ func (m *MySqlMatcher) HasResponse(index int) bool { return true } -func (m *MySqlMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (m *MySqlMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } @@ -55,26 +55,26 @@ type serverSettings struct { keepalive int64 } -func (m *MySqlMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (m *MySqlMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } buf := bytes.NewBuffer(packet.Buffer[:3]) packetLen, _ := binary.ReadUvarint(buf) if packetLen != uint64(packet.Len-4) { - return csm.NotMatchedError() + return osm.NotMatchedError() } pos := 4 p := new(serverSettings) p.protocol = packet.Buffer[pos] if p.protocol != 9 && p.protocol != 10 { - return csm.NotMatchedError() + return osm.NotMatchedError() } pos++ slice, err := readSlice(packet.Buffer[pos:], 0x00) if err != nil { - return csm.NotMatchedError() + return osm.NotMatchedError() } m.meta["version"] = string(slice) pos += len(slice) + 1 @@ -103,8 +103,8 @@ func bytesToUint32(b []byte) (n uint32) { return } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &MySqlMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() return m } diff --git a/mysql/mysql_test.go b/mysql/mysql_test.go index c6a257f..54ad37a 100644 --- a/mysql/mysql_test.go +++ b/mysql/mysql_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestMySql(t *testing.T) { @@ -17,7 +17,7 @@ func TestMySql(t *testing.T) { bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, 0, p); err != nil { t.Error(err) diff --git a/nbss/nbss.go b/nbss/nbss.go index de97fac..e5e31fd 100644 --- a/nbss/nbss.go +++ b/nbss/nbss.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -26,7 +26,7 @@ type NBSS struct { } type NBSSMatcher struct { - csm.Matchers + osm.Matchers } func (t *NBSSMatcher) Key() string { @@ -37,7 +37,7 @@ func (t *NBSSMatcher) Name() string { return "NBSS" } -func (t *NBSSMatcher) Meta() csm.Metadata { +func (t *NBSSMatcher) Meta() osm.Metadata { return nil } @@ -49,14 +49,14 @@ func (t *NBSSMatcher) HasResponse(index int) bool { return true } -func (t *NBSSMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *NBSSMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (t *NBSSMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (t *NBSSMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -64,18 +64,18 @@ func (t *NBSSMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) e n := NBSS{} if err := binary.Read(reader, binary.LittleEndian, &n); err != nil { - return csm.NotMatchedError() + return osm.NotMatchedError() } if NBSS_NEGATIVE_SESSION_RESPONSE != n.MsgType { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &NBSSMatcher{} @@ -103,7 +103,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.LittleEndian, query) - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + m.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return m } diff --git a/nbss/nbss_test.go b/nbss/nbss_test.go index 70c2976..123fc78 100644 --- a/nbss/nbss_test.go +++ b/nbss/nbss_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestNBSS(t *testing.T) { @@ -21,7 +21,7 @@ func TestNBSS(t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, 0, p); err != nil { t.Error(err) diff --git a/oracle/oracle.go b/oracle/oracle.go index b717857..feddb01 100644 --- a/oracle/oracle.go +++ b/oracle/oracle.go @@ -4,11 +4,11 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type OracleMatcher struct { - csm.Matchers + osm.Matchers } func (o *OracleMatcher) Key() string { @@ -26,11 +26,11 @@ func (o *OracleMatcher) HasResponse(index int) bool { return true } -func (o *OracleMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (o *OracleMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (o *OracleMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (o *OracleMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { if packet == nil { return false @@ -77,7 +77,7 @@ func (o *OracleMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) return true } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &OracleMatcher{} @@ -145,7 +145,7 @@ func NewMatcher() csm.Matcher { copy(sendByte[len(hpBt):], bcBt) copy(sendByte[len(hpBt)+len(bcBt):], connect_data) - m.AddPacket(csm.NewPacket(sendByte, byteSize)) + m.AddPacket(osm.NewPacket(sendByte, byteSize)) return m diff --git a/oracle/oracle_test.go b/oracle/oracle_test.go index 9c4fca0..ee75f2a 100644 --- a/oracle/oracle_test.go +++ b/oracle/oracle_test.go @@ -1,7 +1,7 @@ package oracle import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" "net" "testing" @@ -36,7 +36,7 @@ func TestOracle(t *testing.T) { t.Log(bytes) - b := lm.Match(ii, csm.NewPacket(bytes, read), nil) + b := lm.Match(ii, osm.NewPacket(bytes, read), nil) if b { t.Log("Good") diff --git a/pop/pop.go b/pop/pop.go index 8e96d60..710b0af 100644 --- a/pop/pop.go +++ b/pop/pop.go @@ -1,7 +1,7 @@ package pop import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -9,7 +9,7 @@ const ( ) type POPMatcher struct { - csm.Matchers + osm.Matchers } func (p *POPMatcher) Key() string { @@ -28,11 +28,11 @@ func (p *POPMatcher) HasResponse(index int) bool { return true } -func (p *POPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (p *POPMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (p *POPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (p *POPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { switch index { case 0: @@ -55,14 +55,14 @@ func (p *POPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bo return false } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &POPMatcher{} reqStr := "QUIT\r\n" byte := make([]byte, len(reqStr)) copy(byte[:], reqStr) - m.AddPacket(csm.NewPacket(byte, len(reqStr))) + m.AddPacket(osm.NewPacket(byte, len(reqStr))) return m diff --git a/pop/pop_test.go b/pop/pop_test.go index 5c7b248..e83f627 100644 --- a/pop/pop_test.go +++ b/pop/pop_test.go @@ -4,7 +4,7 @@ import ( "crypto/tls" "fmt" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" "net" "testing" @@ -50,7 +50,7 @@ func pop3Run(client net.Conn, t *testing.T) { read, _ := client.Read(bytett) - bb := lm.Match(0, csm.NewPacket(bytett, read), nil) + bb := lm.Match(0, osm.NewPacket(bytett, read), nil) if bb { t.Log("good!") @@ -72,7 +72,7 @@ func pop3Run(client net.Conn, t *testing.T) { //fmt.Println(bytes) - b := lm.Match(ii+1, csm.NewPacket(bytes, rr), nil) + b := lm.Match(ii+1, osm.NewPacket(bytes, rr), nil) if b { t.Log("send Good!") diff --git a/postgresql/postgresql.go b/postgresql/postgresql.go index d1140f9..e03af65 100644 --- a/postgresql/postgresql.go +++ b/postgresql/postgresql.go @@ -5,7 +5,7 @@ import ( "encoding/binary" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -38,8 +38,8 @@ type pgsqlErrResponse struct { } type PostgreSQLMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (p *PostgreSQLMatcher) Key() string { @@ -50,7 +50,7 @@ func (p *PostgreSQLMatcher) Name() string { return "PostgreSQL" } -func (p *PostgreSQLMatcher) Meta() csm.Metadata { +func (p *PostgreSQLMatcher) Meta() osm.Metadata { return p.meta } @@ -62,14 +62,14 @@ func (p *PostgreSQLMatcher) HasResponse(index int) bool { return true } -func (p *PostgreSQLMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (p *PostgreSQLMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return true } -func (p *PostgreSQLMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (p *PostgreSQLMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -81,12 +81,12 @@ func (p *PostgreSQLMatcher) Match(info csm.MatchInfo, index int, packet *csm.Pac } if pg.ResponseType != RESPONSE_TYPE_ERR { - return csm.NotMatchedError() + return osm.NotMatchedError() } length := binary.BigEndian.Uint32(pg.Len[:]) if length+1 != uint32(packet.Len) { - return csm.NotMatchedError() + return osm.NotMatchedError() } data := string(pg.Data[:]) @@ -104,14 +104,14 @@ func (p *PostgreSQLMatcher) Match(info csm.MatchInfo, index int, packet *csm.Pac } if !findSeverity || !findErrorCode { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &PostgreSQLMatcher{} @@ -163,7 +163,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.BigEndian, pg) - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + m.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return m } diff --git a/postgresql/postgresql_test.go b/postgresql/postgresql_test.go index 3bfdae9..6a63c78 100644 --- a/postgresql/postgresql_test.go +++ b/postgresql/postgresql_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestPG(t *testing.T) { @@ -23,7 +23,7 @@ func TestPG(t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/redis/redis.go b/redis/redis.go index 02737ea..076b366 100644 --- a/redis/redis.go +++ b/redis/redis.go @@ -4,7 +4,7 @@ import ( "bufio" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const REDIS_PING string = "*1\r\n$4\r\nPING\r\n" @@ -12,8 +12,8 @@ const REDIS_INFO string = "*1\r\n$4\r\nINFO\r\n" const REDIS_QUIT string = "*1\r\n$4\r\nQUIT\r\n" type RedisMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata protected bool } @@ -36,7 +36,7 @@ func (r *RedisMatcher) Name() string { return name } -func (r *RedisMatcher) Meta() csm.Metadata { +func (r *RedisMatcher) Meta() osm.Metadata { return r.meta } @@ -48,26 +48,26 @@ func (r *RedisMatcher) HasResponse(index int) bool { return true } -func (r *RedisMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (r *RedisMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (r *RedisMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (r *RedisMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } resp := strings.Split(string(packet.Buffer), "\r\n")[0] if len(resp) <= 0 { - return csm.NotMatchedError() + return osm.NotMatchedError() } switch index { case 0: sign := string([]rune(resp)[0]) if len(sign) <= 0 { - return csm.NotMatchedError() + return osm.NotMatchedError() } if sign == "+" { @@ -99,12 +99,12 @@ func (r *RedisMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) } return nil default: - return csm.NotMatchedError() + return osm.NotMatchedError() } - return csm.NotMatchedError() + return osm.NotMatchedError() } -func (r *RedisMatcher) checkProtectedMode(packet *csm.Packet) bool { +func (r *RedisMatcher) checkProtectedMode(packet *osm.Packet) bool { var ( compareSign = "-" compareMsg = "DENIED" @@ -156,13 +156,13 @@ func (r *RedisMatcher) PacketCount() int { return 3 } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &RedisMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() - m.AddPacket(csm.NewPacket([]byte(REDIS_PING), len(REDIS_PING))) - m.AddPacket(csm.NewPacket([]byte(REDIS_INFO), len(REDIS_INFO))) - m.AddPacket(csm.NewPacket([]byte(REDIS_QUIT), len(REDIS_QUIT))) + m.AddPacket(osm.NewPacket([]byte(REDIS_PING), len(REDIS_PING))) + m.AddPacket(osm.NewPacket([]byte(REDIS_INFO), len(REDIS_INFO))) + m.AddPacket(osm.NewPacket([]byte(REDIS_QUIT), len(REDIS_QUIT))) return m } diff --git a/redis/redis_test.go b/redis/redis_test.go index 7c5546b..1250a12 100644 --- a/redis/redis_test.go +++ b/redis/redis_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -26,7 +26,7 @@ func TestRedisMatcher(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/rmi/rmi.go b/rmi/rmi.go index 67a2f2a..ff193a9 100644 --- a/rmi/rmi.go +++ b/rmi/rmi.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -28,7 +28,7 @@ type RMI_RECV_MESSAGE struct { } type RMIMatcher struct { - csm.Matchers + osm.Matchers } func (r *RMIMatcher) Key() string { @@ -39,7 +39,7 @@ func (r *RMIMatcher) Name() string { return "RMI" } -func (r *RMIMatcher) Meta() csm.Metadata { +func (r *RMIMatcher) Meta() osm.Metadata { return nil } @@ -51,14 +51,14 @@ func (r *RMIMatcher) HasResponse(index int) bool { return true } -func (r *RMIMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (r *RMIMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (r *RMIMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (r *RMIMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } rmiRecv := RMI_RECV_MESSAGE{} @@ -83,10 +83,10 @@ func (r *RMIMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) er return nil } - return csm.NotMatchedError() + return osm.NotMatchedError() } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &RMIMatcher{} rsm := RMI_SEND_MESSAGE{ @@ -100,7 +100,7 @@ func NewMatcher() csm.Matcher { sendByte := mCache.Bytes() - m.AddPacket(csm.NewPacket(sendByte, len(sendByte))) + m.AddPacket(osm.NewPacket(sendByte, len(sendByte))) return m } diff --git a/rmi/rmi_test.go b/rmi/rmi_test.go index 23ee7b9..d1a59f8 100644 --- a/rmi/rmi_test.go +++ b/rmi/rmi_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestRMIMatcher_Match(t *testing.T) { @@ -25,7 +25,7 @@ func TestRMIMatcher_Match(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/smb/smb.go b/smb/smb.go index 7790510..96516f6 100644 --- a/smb/smb.go +++ b/smb/smb.go @@ -5,7 +5,7 @@ import ( "encoding/binary" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -49,7 +49,7 @@ type smb struct { } type SMBMatcher struct { - csm.Matchers + osm.Matchers } func (t *SMBMatcher) Key() string { @@ -60,7 +60,7 @@ func (t *SMBMatcher) Name() string { return "SMB" } -func (t *SMBMatcher) Meta() csm.Metadata { +func (t *SMBMatcher) Meta() osm.Metadata { return nil } @@ -72,14 +72,14 @@ func (t *SMBMatcher) HasResponse(index int) bool { return true } -func (t *SMBMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *SMBMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (t *SMBMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (t *SMBMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } reader := new(bytes.Buffer) @@ -95,22 +95,22 @@ func (t *SMBMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) er packetLen := binary.BigEndian.Uint32(des[:]) if packetLen != uint32(packet.Len-4) { - return csm.NotMatchedError() + return osm.NotMatchedError() } if !strings.Contains(string(s.Component[:]), "SMB") { - return csm.NotMatchedError() + return osm.NotMatchedError() } if s.SmbCommand != SMB_COM_NEGOTIATE { - return csm.NotMatchedError() + return osm.NotMatchedError() } return nil } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &SMBMatcher{} @@ -160,7 +160,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.LittleEndian, query) - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + m.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return m } diff --git a/smb/smb_test.go b/smb/smb_test.go index 228d4b2..a45a323 100644 --- a/smb/smb_test.go +++ b/smb/smb_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -30,7 +30,7 @@ func TestSMBMatcher(t *testing.T) { bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, 0, p); err != nil { t.Error(err) diff --git a/smtp/smtp.go b/smtp/smtp.go index 589318b..7383eb7 100644 --- a/smtp/smtp.go +++ b/smtp/smtp.go @@ -3,11 +3,11 @@ package smtp import ( "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type SmtpMatcher struct { - csm.Matchers + osm.Matchers } func (t *SmtpMatcher) Key() string { @@ -26,11 +26,11 @@ func (t *SmtpMatcher) HasResponse(index int) bool { return true } -func (t *SmtpMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *SmtpMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (t *SmtpMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *SmtpMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { if packet == nil { return false } @@ -57,15 +57,15 @@ func (t *SmtpMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) b return false } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &SmtpMatcher{} b := []byte("helo test\r\n") - m.AddPacket(csm.NewPacket(b, len(b))) + m.AddPacket(osm.NewPacket(b, len(b))) b = []byte("quit\r\n") - m.AddPacket(csm.NewPacket(b, len(b))) + m.AddPacket(osm.NewPacket(b, len(b))) return m } diff --git a/snmp/v2/snmpv2.go b/snmp/v2/snmpv2.go index 0538eaf..59d93f8 100644 --- a/snmp/v2/snmpv2.go +++ b/snmp/v2/snmpv2.go @@ -4,7 +4,7 @@ import ( "encoding/asn1" "math/rand" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type snmpv2 struct { @@ -38,9 +38,9 @@ var ( ) type SNMPMatcher struct { - csm.Matchers + osm.Matchers requestID int32 - meta csm.Metadata + meta osm.Metadata } func (s *SNMPMatcher) Key() string { @@ -51,7 +51,7 @@ func (s *SNMPMatcher) Name() string { return "SNMP" } -func (s *SNMPMatcher) Meta() csm.Metadata { +func (s *SNMPMatcher) Meta() osm.Metadata { return s.meta } @@ -64,10 +64,10 @@ func (s *SNMPMatcher) HasResponse(index int) bool { return true } -func (s *SNMPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (s *SNMPMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } var p struct { @@ -88,11 +88,11 @@ func (s *SNMPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) e resp := &response{p.Data.RequestID, p.Data.ErrorStatus, p.Data.ErrorIndex, p.Data.Bindings} if s.requestID != resp.ID { - return csm.NotMatchedError() + return osm.NotMatchedError() } if len(resp.Bindings) == 0 { - return csm.NotMatchedError() + return osm.NotMatchedError() } for _, binding := range resp.Bindings { @@ -116,10 +116,10 @@ func (s *SNMPMatcher) IsSend(port int) bool { return false } -func NewMatcher() csm.UDPMatcher { +func NewMatcher() osm.UDPMatcher { m := &SNMPMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() m.requestID = rand.Int31() @@ -139,7 +139,7 @@ func NewMatcher() csm.UDPMatcher { } buf, _ := asn1.Marshal(p) - m.AddPacket(csm.NewPacket(buf, len(buf))) + m.AddPacket(osm.NewPacket(buf, len(buf))) return m } diff --git a/snmp/v2/snmpv2_test.go b/snmp/v2/snmpv2_test.go index bb6aa8d..97fb75a 100644 --- a/snmp/v2/snmpv2_test.go +++ b/snmp/v2/snmpv2_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestSNMPv2(t *testing.T) { @@ -23,7 +23,7 @@ func TestSNMPv2(t *testing.T) { bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, 0, p); err != nil { t.Error(err) diff --git a/snmp/v3/snmpv3.go b/snmp/v3/snmpv3.go deleted file mode 100644 index b7fcb27..0000000 --- a/snmp/v3/snmpv3.go +++ /dev/null @@ -1,216 +0,0 @@ -package v3 - -import ( - "bytes" - "encoding/binary" - - csm "git.loafle.net/commons/service_matcher-go" - csms "git.loafle.net/commons/service_matcher-go/snmp" -) - -type snmpv3GlobalData struct { - GlobalDataStartSeq uint8 - GlobalDataLen uint8 - MsgIdType uint8 - MsgIdLen uint8 - MsgId uint32 - MsgMaxSizeType uint8 - MsgMaxSizeLen uint8 - MsgMaxSize [3]uint8 - MsgFlagsType uint8 - MsgFlagsTypeLen uint8 - MsgFlags uint8 - MsgSecurityModelType uint8 - MsgSecurityModelLen uint8 - MsgSecurityModel uint8 -} - -type snmpv3MsgData struct { - MsgDataStartSeq uint8 - MsgDataLen uint8 - ContextEngineId uint16 - ContextEngineName uint16 - SnmpType uint8 - Len uint8 - RequestIdType uint8 - RequestIdLen uint8 - RequestId uint32 - ErrorStatusType uint8 - ErrorStatusLen uint8 - ErrorStatus uint8 - ErrorIndexType uint8 - ErrorIndexLen uint8 - ErrorIndex uint8 - EndSeq uint8 - EndIndicator uint8 -} - -type snmpv3 struct { - StartSeq uint8 - SeqLen uint8 - SNMPVersionType uint8 - SNMPVersionLen uint8 - SNMPVersion uint8 - MsgGlobalData snmpv3GlobalData - Unk1 uint16 - Unk2 uint16 - MsgAuthoritativeEngineId uint16 - - MsgAuthoritativeEngineBootsType uint8 - MsgAuthoritativeEngineBootsLen uint8 - MsgAuthoritativeEngineBoots uint8 - MsgAuthoritativeEngineTimeType uint8 - MsgAuthoritativeEngineTimeLen uint8 - MsgAuthoritativeEngineTime uint8 - MsgUserName uint16 - MsgAuthenticationParam uint16 - MsgPrivacyParam uint16 - MsgData snmpv3MsgData -} - -type SNMPMatcher struct { - csm.Matchers -} - -func (t *SNMPMatcher) Key() string { - return "SNMP_V3" -} - -func (t *SNMPMatcher) Meta() map[string]string { - return nil -} - -func (t *SNMPMatcher) IsPrePacket() bool { - return false -} - -func (t *SNMPMatcher) HasResponse(index int) bool { - return true -} - -func (t *SNMPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { - return false -} - -func (t *SNMPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { - - if packet == nil { - return false - } - - reader := new(bytes.Buffer) - reader.Write(packet.Buffer) - - s := snmpv3{} - if err := binary.Read(reader, binary.LittleEndian, &s); err != nil { - return false - } - - if s.StartSeq != csms.SNMP_START_SEQUENCE { - return false - } - - var p uint8 - r := new(bytes.Buffer) - r.Write(packet.Buffer) - - for { - binary.Read(r, binary.LittleEndian, &p) - - if p == csms.SNMP_TYPE_INTEGER { - break - } - } - - binary.Read(r, binary.BigEndian, &p) - if p == 0x01 { - binary.Read(r, binary.BigEndian, &p) - if p == 0x03 { - return true - } - } - - return false - -} - -func (t *SNMPMatcher) IsSend(port int) bool { - if 161 == port { - return true - } - return false -} - -func NewMatcher() csm.UDPMatcher { - - m := &SNMPMatcher{} - - snmpTempBuf := new(bytes.Buffer) - binary.Write(snmpTempBuf, binary.BigEndian, snmpv3{}) //For getting the struct size - - snmpMsgDataTempBuf := new(bytes.Buffer) - binary.Write(snmpMsgDataTempBuf, binary.BigEndian, snmpv3MsgData{}) //For getting the struct size - - snmpGlobalTempBuf := new(bytes.Buffer) - binary.Write(snmpGlobalTempBuf, binary.BigEndian, snmpv3GlobalData{}) //For getting the struct size - - q := snmpv3{} - q.StartSeq = csms.SNMP_START_SEQUENCE - q.SeqLen = uint8(len(snmpTempBuf.Bytes())) - 2 - q.SNMPVersionType = csms.SNMP_TYPE_INTEGER - q.SNMPVersionLen = 0x01 - q.SNMPVersion = csms.SNMP_PROTOCOL_VERSION_3 - q.MsgGlobalData.GlobalDataStartSeq = csms.SNMP_START_SEQUENCE - q.MsgGlobalData.GlobalDataLen = uint8(len(snmpGlobalTempBuf.Bytes())) - 2 - q.MsgGlobalData.MsgIdType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgIdLen = 0x04 - q.MsgGlobalData.MsgId = csms.SNMP_MSG_ID_MAX_VALUE - q.MsgGlobalData.MsgMaxSizeType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgMaxSizeLen = 0x03 - q.MsgGlobalData.MsgMaxSize[2] = 0xe3 - q.MsgGlobalData.MsgMaxSize[1] = 0xff - q.MsgGlobalData.MsgMaxSize[0] = 0x00 - q.MsgGlobalData.MsgFlagsType = csms.SNMP_TYPE_STRING - q.MsgGlobalData.MsgFlagsTypeLen = 0x01 - q.MsgGlobalData.MsgFlags = 0x04 - q.MsgGlobalData.MsgSecurityModelType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgSecurityModelLen = 0x01 - q.MsgGlobalData.MsgSecurityModel = 0x03 - q.Unk1 = 0x1004 - q.Unk2 = 0x0e30 - q.MsgAuthoritativeEngineId = csms.SNMP_NO_DESC - q.MsgAuthoritativeEngineBootsType = csms.SNMP_TYPE_INTEGER - q.MsgAuthoritativeEngineBootsLen = 0x01 - q.MsgAuthoritativeEngineBoots = 0x00 - q.MsgAuthoritativeEngineTimeType = csms.SNMP_TYPE_INTEGER - q.MsgAuthoritativeEngineTimeLen = 0x01 - q.MsgAuthoritativeEngineTime = 0x00 - q.MsgUserName = csms.SNMP_NO_DESC - q.MsgAuthenticationParam = csms.SNMP_NO_DESC - q.MsgPrivacyParam = csms.SNMP_NO_DESC - - q.MsgData.MsgDataStartSeq = csms.SNMP_START_SEQUENCE - q.MsgData.MsgDataLen = uint8(len(snmpMsgDataTempBuf.Bytes())) - 2 - q.MsgData.ContextEngineId = csms.SNMP_NO_DESC - q.MsgData.ContextEngineName = csms.SNMP_NO_DESC - q.MsgData.SnmpType = csms.SNMP_GET_REQUEST - q.MsgData.Len = 0x0E - q.MsgData.RequestIdType = csms.SNMP_TYPE_INTEGER - q.MsgData.RequestIdLen = 0x04 - q.MsgData.RequestId = 0x00 // - q.MsgData.ErrorStatusType = csms.SNMP_TYPE_INTEGER - q.MsgData.ErrorStatusLen = 0x01 - q.MsgData.ErrorStatus = 0x00 - q.MsgData.ErrorIndexType = csms.SNMP_TYPE_INTEGER - q.MsgData.ErrorIndexLen = 0x01 - q.MsgData.ErrorIndex = 0x00 - q.MsgData.EndSeq = csms.SNMP_END_SEQUENCE - q.MsgData.EndIndicator = 0x00 - - writer := new(bytes.Buffer) - binary.Write(writer, binary.LittleEndian, q) - - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) - - return m -} diff --git a/snmp/v3/snmpv3_old.go b/snmp/v3/snmpv3_old.go deleted file mode 100644 index b7fcb27..0000000 --- a/snmp/v3/snmpv3_old.go +++ /dev/null @@ -1,216 +0,0 @@ -package v3 - -import ( - "bytes" - "encoding/binary" - - csm "git.loafle.net/commons/service_matcher-go" - csms "git.loafle.net/commons/service_matcher-go/snmp" -) - -type snmpv3GlobalData struct { - GlobalDataStartSeq uint8 - GlobalDataLen uint8 - MsgIdType uint8 - MsgIdLen uint8 - MsgId uint32 - MsgMaxSizeType uint8 - MsgMaxSizeLen uint8 - MsgMaxSize [3]uint8 - MsgFlagsType uint8 - MsgFlagsTypeLen uint8 - MsgFlags uint8 - MsgSecurityModelType uint8 - MsgSecurityModelLen uint8 - MsgSecurityModel uint8 -} - -type snmpv3MsgData struct { - MsgDataStartSeq uint8 - MsgDataLen uint8 - ContextEngineId uint16 - ContextEngineName uint16 - SnmpType uint8 - Len uint8 - RequestIdType uint8 - RequestIdLen uint8 - RequestId uint32 - ErrorStatusType uint8 - ErrorStatusLen uint8 - ErrorStatus uint8 - ErrorIndexType uint8 - ErrorIndexLen uint8 - ErrorIndex uint8 - EndSeq uint8 - EndIndicator uint8 -} - -type snmpv3 struct { - StartSeq uint8 - SeqLen uint8 - SNMPVersionType uint8 - SNMPVersionLen uint8 - SNMPVersion uint8 - MsgGlobalData snmpv3GlobalData - Unk1 uint16 - Unk2 uint16 - MsgAuthoritativeEngineId uint16 - - MsgAuthoritativeEngineBootsType uint8 - MsgAuthoritativeEngineBootsLen uint8 - MsgAuthoritativeEngineBoots uint8 - MsgAuthoritativeEngineTimeType uint8 - MsgAuthoritativeEngineTimeLen uint8 - MsgAuthoritativeEngineTime uint8 - MsgUserName uint16 - MsgAuthenticationParam uint16 - MsgPrivacyParam uint16 - MsgData snmpv3MsgData -} - -type SNMPMatcher struct { - csm.Matchers -} - -func (t *SNMPMatcher) Key() string { - return "SNMP_V3" -} - -func (t *SNMPMatcher) Meta() map[string]string { - return nil -} - -func (t *SNMPMatcher) IsPrePacket() bool { - return false -} - -func (t *SNMPMatcher) HasResponse(index int) bool { - return true -} - -func (t *SNMPMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { - return false -} - -func (t *SNMPMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { - - if packet == nil { - return false - } - - reader := new(bytes.Buffer) - reader.Write(packet.Buffer) - - s := snmpv3{} - if err := binary.Read(reader, binary.LittleEndian, &s); err != nil { - return false - } - - if s.StartSeq != csms.SNMP_START_SEQUENCE { - return false - } - - var p uint8 - r := new(bytes.Buffer) - r.Write(packet.Buffer) - - for { - binary.Read(r, binary.LittleEndian, &p) - - if p == csms.SNMP_TYPE_INTEGER { - break - } - } - - binary.Read(r, binary.BigEndian, &p) - if p == 0x01 { - binary.Read(r, binary.BigEndian, &p) - if p == 0x03 { - return true - } - } - - return false - -} - -func (t *SNMPMatcher) IsSend(port int) bool { - if 161 == port { - return true - } - return false -} - -func NewMatcher() csm.UDPMatcher { - - m := &SNMPMatcher{} - - snmpTempBuf := new(bytes.Buffer) - binary.Write(snmpTempBuf, binary.BigEndian, snmpv3{}) //For getting the struct size - - snmpMsgDataTempBuf := new(bytes.Buffer) - binary.Write(snmpMsgDataTempBuf, binary.BigEndian, snmpv3MsgData{}) //For getting the struct size - - snmpGlobalTempBuf := new(bytes.Buffer) - binary.Write(snmpGlobalTempBuf, binary.BigEndian, snmpv3GlobalData{}) //For getting the struct size - - q := snmpv3{} - q.StartSeq = csms.SNMP_START_SEQUENCE - q.SeqLen = uint8(len(snmpTempBuf.Bytes())) - 2 - q.SNMPVersionType = csms.SNMP_TYPE_INTEGER - q.SNMPVersionLen = 0x01 - q.SNMPVersion = csms.SNMP_PROTOCOL_VERSION_3 - q.MsgGlobalData.GlobalDataStartSeq = csms.SNMP_START_SEQUENCE - q.MsgGlobalData.GlobalDataLen = uint8(len(snmpGlobalTempBuf.Bytes())) - 2 - q.MsgGlobalData.MsgIdType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgIdLen = 0x04 - q.MsgGlobalData.MsgId = csms.SNMP_MSG_ID_MAX_VALUE - q.MsgGlobalData.MsgMaxSizeType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgMaxSizeLen = 0x03 - q.MsgGlobalData.MsgMaxSize[2] = 0xe3 - q.MsgGlobalData.MsgMaxSize[1] = 0xff - q.MsgGlobalData.MsgMaxSize[0] = 0x00 - q.MsgGlobalData.MsgFlagsType = csms.SNMP_TYPE_STRING - q.MsgGlobalData.MsgFlagsTypeLen = 0x01 - q.MsgGlobalData.MsgFlags = 0x04 - q.MsgGlobalData.MsgSecurityModelType = csms.SNMP_TYPE_INTEGER - q.MsgGlobalData.MsgSecurityModelLen = 0x01 - q.MsgGlobalData.MsgSecurityModel = 0x03 - q.Unk1 = 0x1004 - q.Unk2 = 0x0e30 - q.MsgAuthoritativeEngineId = csms.SNMP_NO_DESC - q.MsgAuthoritativeEngineBootsType = csms.SNMP_TYPE_INTEGER - q.MsgAuthoritativeEngineBootsLen = 0x01 - q.MsgAuthoritativeEngineBoots = 0x00 - q.MsgAuthoritativeEngineTimeType = csms.SNMP_TYPE_INTEGER - q.MsgAuthoritativeEngineTimeLen = 0x01 - q.MsgAuthoritativeEngineTime = 0x00 - q.MsgUserName = csms.SNMP_NO_DESC - q.MsgAuthenticationParam = csms.SNMP_NO_DESC - q.MsgPrivacyParam = csms.SNMP_NO_DESC - - q.MsgData.MsgDataStartSeq = csms.SNMP_START_SEQUENCE - q.MsgData.MsgDataLen = uint8(len(snmpMsgDataTempBuf.Bytes())) - 2 - q.MsgData.ContextEngineId = csms.SNMP_NO_DESC - q.MsgData.ContextEngineName = csms.SNMP_NO_DESC - q.MsgData.SnmpType = csms.SNMP_GET_REQUEST - q.MsgData.Len = 0x0E - q.MsgData.RequestIdType = csms.SNMP_TYPE_INTEGER - q.MsgData.RequestIdLen = 0x04 - q.MsgData.RequestId = 0x00 // - q.MsgData.ErrorStatusType = csms.SNMP_TYPE_INTEGER - q.MsgData.ErrorStatusLen = 0x01 - q.MsgData.ErrorStatus = 0x00 - q.MsgData.ErrorIndexType = csms.SNMP_TYPE_INTEGER - q.MsgData.ErrorIndexLen = 0x01 - q.MsgData.ErrorIndex = 0x00 - q.MsgData.EndSeq = csms.SNMP_END_SEQUENCE - q.MsgData.EndIndicator = 0x00 - - writer := new(bytes.Buffer) - binary.Write(writer, binary.LittleEndian, q) - - m.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) - - return m -} diff --git a/snmp/v3/snmpv3_test.go b/snmp/v3/snmpv3_test.go deleted file mode 100644 index 9efd035..0000000 --- a/snmp/v3/snmpv3_test.go +++ /dev/null @@ -1,37 +0,0 @@ -package v3 - -import ( - "net" - "testing" - - csm "git.loafle.net/commons/service_matcher-go" -) - -func TestSNMP3(t *testing.T) { - - m := NewMatcher() - - conn, err := net.Dial("udp", "192.168.1.204:161") - if err != nil { - t.Error(err) - return - } - 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 := csm.NewPacket(bytes, n) - - if m.Match(nil, i, p) { - t.Log("SNMP found") - return - } - - t.Error("SNMP not found") - } - -} diff --git a/sqlserver/sqlserver.go b/sqlserver/sqlserver.go index 0060a95..a1af17a 100644 --- a/sqlserver/sqlserver.go +++ b/sqlserver/sqlserver.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -64,7 +64,7 @@ type mssqlResponse struct { } type SQLServerMatcher struct { - csm.Matchers + osm.Matchers isSSL bool } @@ -87,11 +87,11 @@ func (t *SQLServerMatcher) HasResponse(index int) bool { return true } -func (t *SQLServerMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *SQLServerMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (t *SQLServerMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (t *SQLServerMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { if packet == nil { return false @@ -133,7 +133,7 @@ func (t *SQLServerMatcher) Match(info csm.MatchInfo, index int, packet *csm.Pack } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { mm := &SQLServerMatcher{} @@ -164,7 +164,7 @@ func NewMatcher() csm.Matcher { writer := new(bytes.Buffer) binary.Write(writer, binary.BigEndian, m) - mm.AddPacket(csm.NewPacket(writer.Bytes(), writer.Len())) + mm.AddPacket(osm.NewPacket(writer.Bytes(), writer.Len())) return mm } diff --git a/sqlserver/sqlserver_test.go b/sqlserver/sqlserver_test.go index d320b94..892cabc 100644 --- a/sqlserver/sqlserver_test.go +++ b/sqlserver/sqlserver_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) /* @@ -51,7 +51,7 @@ func sqlServerRun(conn net.Conn, t *testing.T) { conn.Write(pack.Buffer) bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if m.Match(nil, i, p) { t.Log(m.Key()) diff --git a/ssh/ssh.go b/ssh/ssh.go index ec8594d..e260a7a 100644 --- a/ssh/ssh.go +++ b/ssh/ssh.go @@ -5,12 +5,12 @@ import ( "bytes" "strings" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) type SSHMatcher struct { - csm.Matchers - meta csm.Metadata + osm.Matchers + meta osm.Metadata } func (ssh *SSHMatcher) Key() string { @@ -25,7 +25,7 @@ func (ssh *SSHMatcher) Name() string { return name } -func (ssh *SSHMatcher) Meta() csm.Metadata { +func (ssh *SSHMatcher) Meta() osm.Metadata { return ssh.meta } @@ -37,14 +37,14 @@ func (ssh *SSHMatcher) HasResponse(index int) bool { return true } -func (ssh *SSHMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (ssh *SSHMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (ssh *SSHMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (ssh *SSHMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } // SSH-protoversion-softwareversion SP comments CR LF @@ -54,7 +54,7 @@ func (ssh *SSHMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) exchange := scanner.Text() if !strings.HasPrefix(exchange, "SSH") { - return csm.NotMatchedError() + return osm.NotMatchedError() } temp := strings.Split(exchange, " ") @@ -75,11 +75,11 @@ func (ssh *SSHMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) break } - return csm.NotMatchedError() + return osm.NotMatchedError() } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &SSHMatcher{} - m.meta = csm.NewMetadata() + m.meta = osm.NewMetadata() return m } diff --git a/ssh/ssh_test.go b/ssh/ssh_test.go index 1467898..81bf256 100644 --- a/ssh/ssh_test.go +++ b/ssh/ssh_test.go @@ -4,7 +4,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestSSH(t *testing.T) { @@ -25,7 +25,7 @@ func TestSSH(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/telnet/telnet.go b/telnet/telnet.go index 62b1ceb..39613dd 100644 --- a/telnet/telnet.go +++ b/telnet/telnet.go @@ -1,7 +1,7 @@ package telnet import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -13,7 +13,7 @@ const ( ) type TelnetMatcher struct { - csm.Matchers + osm.Matchers } func (tel *TelnetMatcher) Key() string { @@ -24,7 +24,7 @@ func (tel *TelnetMatcher) Name() string { return "Telnet" } -func (tel *TelnetMatcher) Meta() csm.Metadata { +func (tel *TelnetMatcher) Meta() osm.Metadata { return nil } @@ -36,14 +36,14 @@ func (tel *TelnetMatcher) HasResponse(index int) bool { return true } -func (tel *TelnetMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (tel *TelnetMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (tel *TelnetMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) error { +func (tel *TelnetMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) error { if packet == nil || packet.Buffer == nil || packet.Len == 0 { - return csm.NoPacketReceivedError() + return osm.NoPacketReceivedError() } buf := make([]byte, 0, 0) @@ -65,13 +65,13 @@ func (tel *TelnetMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packe } } - return csm.NotMatchedError() + return osm.NotMatchedError() } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &TelnetMatcher{} - m.AddPacket(csm.NewPacket([]byte{CMD, DO, 37}, 3)) + m.AddPacket(osm.NewPacket([]byte{CMD, DO, 37}, 3)) return m } diff --git a/telnet/telnet_test.go b/telnet/telnet_test.go index 52bcdee..a57d1f2 100644 --- a/telnet/telnet_test.go +++ b/telnet/telnet_test.go @@ -1,7 +1,7 @@ package telnet import ( - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" "net" "testing" @@ -25,7 +25,7 @@ func TestTelnetMatcher_Match(t *testing.T) { } bytes := make([]byte, 1024) n, _ := conn.Read(bytes) - p := csm.NewPacket(bytes, n) + p := osm.NewPacket(bytes, n) if err := m.Match(nil, i, p); err != nil { t.Error(err) diff --git a/wmi/wmi.go b/wmi/wmi.go index 76d7c9f..1f95242 100644 --- a/wmi/wmi.go +++ b/wmi/wmi.go @@ -4,7 +4,7 @@ import ( "bytes" "encoding/binary" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) const ( @@ -18,7 +18,7 @@ const ( ) type WMIMatcher struct { - csm.Matchers + osm.Matchers } func (w *WMIMatcher) Key() string { @@ -37,11 +37,11 @@ func (w *WMIMatcher) HasResponse(index int) bool { return true } -func (w *WMIMatcher) IsError(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (w *WMIMatcher) IsError(info osm.MatchInfo, index int, packet *osm.Packet) bool { return false } -func (w *WMIMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bool { +func (w *WMIMatcher) Match(info osm.MatchInfo, index int, packet *osm.Packet) bool { if packet == nil { return false @@ -81,7 +81,7 @@ func (w *WMIMatcher) Match(info csm.MatchInfo, index int, packet *csm.Packet) bo return false } -func NewMatcher() csm.Matcher { +func NewMatcher() osm.Matcher { m := &WMIMatcher{} @@ -205,8 +205,8 @@ func NewMatcher() csm.Matcher { copy(secondByte[0:], ds2Bytes) copy(secondByte[len(ds2Bytes):], daBytes) - m.AddPacket(csm.NewPacket(firstByte, len(ds1Bytes)+len(ioxidrBytes))) - m.AddPacket(csm.NewPacket(secondByte, len(ds2Bytes)+len(daBytes))) + m.AddPacket(osm.NewPacket(firstByte, len(ds1Bytes)+len(ioxidrBytes))) + m.AddPacket(osm.NewPacket(secondByte, len(ds2Bytes)+len(daBytes))) return m diff --git a/wmi/wmi_test.go b/wmi/wmi_test.go index ebe840c..468b9ff 100644 --- a/wmi/wmi_test.go +++ b/wmi/wmi_test.go @@ -5,7 +5,7 @@ import ( "net" "testing" - csm "git.loafle.net/commons/service_matcher-go" + osm "git.loafle.net/overflow/service_matcher-go" ) func TestWMI(t *testing.T) { @@ -38,7 +38,7 @@ func TestWMI(t *testing.T) { //fmt.Println(bytes) - b := lm.Match(nil, ii, csm.NewPacket(bytes, read)) + b := lm.Match(nil, ii, osm.NewPacket(bytes, read)) if b { fmt.Println("Good")