mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-07 00:50:50 +00:00
d0b2dbfa0e
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
42 lines
903 B
Python
42 lines
903 B
Python
|
|
import threading
|
|
import logging
|
|
logging.getLogger("scapy").setLevel(logging.CRITICAL)
|
|
import scapy.all as sp
|
|
|
|
class Sniffer(threading.Thread):
|
|
def __init__(self, args, check_function):
|
|
threading.Thread.__init__(self)
|
|
|
|
self._args = args
|
|
self._recvif = args.recvif[0]
|
|
self._check_function = check_function
|
|
self.foundCorrectPacket = False
|
|
self._endme = False
|
|
|
|
self.start()
|
|
|
|
def _checkPacket(self, packet):
|
|
ret = self._check_function(self._args, packet)
|
|
if ret:
|
|
self.foundCorrectPacket = True
|
|
return ret
|
|
|
|
def setEnd(self):
|
|
self._endme = True
|
|
|
|
def stopFilter(self, pkt):
|
|
if pkt is not None:
|
|
self._checkPacket(pkt)
|
|
if self.foundCorrectPacket or self._endme:
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
def run(self):
|
|
while True:
|
|
self.packets = sp.sniff(iface=self._recvif, store=False,
|
|
stop_filter=self.stopFilter, timeout=90)
|
|
if self.stopFilter(None):
|
|
break
|