2024-02-20 18:25:43 +08:00
|
|
|
package pkg
|
|
|
|
|
|
|
|
import (
|
2024-02-20 21:09:00 +08:00
|
|
|
"bytes"
|
2024-02-20 18:25:43 +08:00
|
|
|
"github.com/chainreactors/gogo/v2/pkg/fingers"
|
|
|
|
"github.com/chainreactors/parsers"
|
|
|
|
)
|
|
|
|
|
|
|
|
// gogo fingers engine
|
|
|
|
func FingerDetect(content []byte) parsers.Frameworks {
|
|
|
|
frames := make(parsers.Frameworks)
|
|
|
|
for _, finger := range Fingers {
|
|
|
|
// sender置空, 所有的发包交给spray的pool
|
2024-02-20 21:09:00 +08:00
|
|
|
frame, _, ok := fingers.FingerMatcher(finger, map[string]interface{}{"content": bytes.ToLower(content)}, 0, nil)
|
2024-02-20 18:25:43 +08:00
|
|
|
if ok {
|
2024-02-20 21:09:00 +08:00
|
|
|
frames.Add(frame)
|
2024-02-20 18:25:43 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return frames
|
|
|
|
}
|