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") } }