From ead7578544a147c44dc50d5da8bdfd5e926bd6c5 Mon Sep 17 00:00:00 2001 From: Steven Polley Date: Thu, 11 Apr 2024 15:21:48 -0600 Subject: [PATCH] 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 --- hypd/server/packet.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hypd/server/packet.go b/hypd/server/packet.go index c02b63f..6f65334 100644 --- a/hypd/server/packet.go +++ b/hypd/server/packet.go @@ -36,7 +36,7 @@ var ( 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 // to rotate the knock sequence func PacketServer(captureDevice string) error { @@ -50,7 +50,7 @@ func PacketServer(captureDevice string) error { knockSequences = []KnockSequence{} // 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 { return fmt.Errorf("failed to open pcap on capture device: %w", err) }