mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-26 21:21:53 +08:00
Harden scan robustness and tests
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package portfinger
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestProbeParserRejectsShortInputs(t *testing.T) {
|
||||
tests := []string{
|
||||
"",
|
||||
"T",
|
||||
"TCP",
|
||||
"TCP ",
|
||||
"TCP Q",
|
||||
"TCP GetRequest q",
|
||||
}
|
||||
|
||||
for _, input := range tests {
|
||||
t.Run(input, func(t *testing.T) {
|
||||
var probe Probe
|
||||
if err := probe.fromString(input); err == nil {
|
||||
t.Fatalf("fromString(%q) error = nil, want malformed input error", input)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestProbeParserAcceptsMinimalValidProbe(t *testing.T) {
|
||||
var probe Probe
|
||||
if err := probe.fromString(`TCP GetRequest q|GET / HTTP/1.0\r\n\r\n|`); err != nil {
|
||||
t.Fatalf("fromString valid probe error = %v", err)
|
||||
}
|
||||
if probe.Name != "GetRequest" || probe.Protocol != "tcp" || probe.Data == "" {
|
||||
t.Fatalf("probe parsed incorrectly: %#v", probe)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user