diff --git a/scapy/arch/pcapdnet.py b/scapy/arch/pcapdnet.py index bb2419f915f16e433a87287b85b2ee4a7da10089..13bacc4a6075f49db4dc19dc928f5d94ac6a491a 100644 --- a/scapy/arch/pcapdnet.py +++ b/scapy/arch/pcapdnet.py @@ -43,11 +43,10 @@ if conf.use_pcap: if hasattr(pcap,"pcap"): # python-pypcap class _PcapWrapper_pypcap: def __init__(self, device, snaplen, promisc, to_ms): - # Normal pypcap module has no timeout parameter, - # only the specially patched "scapy" variant has. - if "scapy" in pcap.__version__.lower(): + try: self.pcap = pcap.pcap(device, snaplen, promisc, immediate=1, timeout_ms=to_ms) - else: + except TypeError: + # Older pypcap versions do not support the timeout_ms argument self.pcap = pcap.pcap(device, snaplen, promisc, immediate=1) def __getattr__(self, attr): return getattr(self.pcap, attr)