30
internal/fingerprint/packet_test.go
Normal file
30
internal/fingerprint/packet_test.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package fingerprint
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/google/gopacket"
|
||||
"github.com/google/gopacket/layers"
|
||||
)
|
||||
|
||||
func TestBuildSYNPacket(t *testing.T) {
|
||||
data, err := BuildSYNPacket("192.0.2.1", "198.51.100.2", 12345, 80)
|
||||
if err != nil {
|
||||
t.Fatalf("BuildSYNPacket returned error: %v", err)
|
||||
}
|
||||
packet := gopacket.NewPacket(data, layers.LayerTypeIPv4, gopacket.Default)
|
||||
if packet == nil {
|
||||
t.Fatalf("Failed to decode packet")
|
||||
}
|
||||
if ipLayer := packet.Layer(layers.LayerTypeIPv4); ipLayer == nil {
|
||||
t.Fatalf("IPv4 layer not found")
|
||||
}
|
||||
tcpLayer := packet.Layer(layers.LayerTypeTCP)
|
||||
if tcpLayer == nil {
|
||||
t.Fatalf("TCP layer not found")
|
||||
}
|
||||
tcp, _ := tcpLayer.(*layers.TCP)
|
||||
if !tcp.SYN {
|
||||
t.Fatalf("Expected SYN flag set")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user