Skip to content

Scapy all import fails on FreeBSD #1793

@ykvch

Description

@ykvch

scapy version initially reproduced: 2.4.1
OS: FreeBSD 12

Steps:

  1. Run code from scapy.all import *

Expected:

  1. Modules imported

Actual:
Exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/venv/lib/python3.6/site-packages/scapy/all.py", line 18, in <module>
    from scapy.arch import *
  File "/home/user/venv/lib/python3.6/site-packages/scapy/arch/__init__.py", line 63, in <module>
    conf.use_bpf = True
  File "/home/user/venv/lib/python3.6/site-packages/scapy/config.py", line 75, in __set__
    self.hook(self.name, val, *self.args, **self.kargs)
  File "/home/user/venv/lib/python3.6/site-packages/scapy/config.py", line 491, in _socket_changer
    _set_conf_sockets()
  File "/home/user/venv/lib/python3.6/site-packages/scapy/config.py", line 436, in _set_conf_sockets
    raise ScapyInvalidPlatformException("Darwin (OSX) only !")
scapy.error.ScapyInvalidPlatformException: Darwin (OSX) only !

Note: probably caused by check here:
https://github.com/secdev/scapy/blob/v2.4.1/scapy/config.py#L434
Which appears to assume that BPF is exclusively used on OSX.
Note: FreeBSD (not sure about other *BSD OSes) also uses /dev/bpf

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions