From a308a3aa13dfd0117ab591eff7cc15094b327a88 Mon Sep 17 00:00:00 2001 From: Pin Date: Tue, 18 Apr 2023 23:18:56 -0400 Subject: [PATCH] error handle --- main.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 0a7a15b..f19dcdd 100644 --- a/main.go +++ b/main.go @@ -70,12 +70,20 @@ func sInit(os string) *targetInfo { return &tInfo } +func openCapture(tInfo *targetInfo) *pcap.Handle { + for { + handle, err := pcap.OpenLive(tInfo.iFace, tInfo.snaplen, true, pcap.BlockForever) + if err == nil { + return handle + } + } +} + func main() { tInfo := sInit(runtime.GOOS) // Read package and analze them - handle, err := pcap.OpenLive(tInfo.iFace, tInfo.snaplen, true, pcap.BlockForever) - errorPrinter(err) + handle := openCapture(tInfo) handle.SetBPFFilter(tInfo.filter) packets := gopacket.NewPacketSource(handle, handle.LinkType()).Packets()