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()