change pcap snaplen to 126 bytes

We really only care getting as far as the UDP header and can discard the rest.  This should reduce load, and perhaps enable full pcap with ports on the BPF filter

UDP header = 8 bytes
IPv4 max size = 60 bytes
IPv6 fixed size = 40 bytes
Ethernet header size = 18 bytes
This commit is contained in:
Steven Polley 2024-04-11 15:21:48 -06:00
parent 3ff47dfa19
commit ead7578544

View File

@ -36,7 +36,7 @@ var (
sharedSecret string // base32 encoded shared secret used for totp sharedSecret string // base32 encoded shared secret used for totp
) )
// packetServer is the main function when operating in server mode // PacketServer is the main function when operating in server mode
// it sets up the pcap on the capture device and starts a goroutine // it sets up the pcap on the capture device and starts a goroutine
// to rotate the knock sequence // to rotate the knock sequence
func PacketServer(captureDevice string) error { func PacketServer(captureDevice string) error {
@ -50,7 +50,7 @@ func PacketServer(captureDevice string) error {
knockSequences = []KnockSequence{} knockSequences = []KnockSequence{}
// Open pcap handle on device // Open pcap handle on device
handle, err := pcap.OpenLive(captureDevice, 1600, true, pcap.BlockForever) handle, err := pcap.OpenLive(captureDevice, 126, true, pcap.BlockForever)
if err != nil { if err != nil {
return fmt.Errorf("failed to open pcap on capture device: %w", err) return fmt.Errorf("failed to open pcap on capture device: %w", err)
} }