MCPcopy Index your code
hub / github.com/secdev/scapy / _set_conf_sockets

Function _set_conf_sockets

scapy/config.py:821–880  ·  view source on GitHub ↗

Populate the conf.L2Socket and conf.L3Socket according to the various use_* parameters

()

Source from the content-addressed store, hash-verified

819
820
821def _set_conf_sockets():
822 # type: () -> None
823 """Populate the conf.L2Socket and conf.L3Socket
824 according to the various use_* parameters
825 """
826 if conf.use_bpf and not BSD:
827 Interceptor.set_from_hook(conf, "use_bpf", False)
828 raise ScapyInvalidPlatformException("BSD-like (OSX, *BSD...) only !")
829 if not conf.use_pcap and SOLARIS:
830 Interceptor.set_from_hook(conf, "use_pcap", True)
831 raise ScapyInvalidPlatformException(
832 "Scapy only supports libpcap on Solaris !"
833 )
834 # we are already in an Interceptor hook, use Interceptor.set_from_hook
835 if conf.use_pcap:
836 try:
837 from scapy.arch.libpcap import L2pcapListenSocket, L2pcapSocket, \
838 L3pcapSocket
839 except (OSError, ImportError):
840 log_loading.warning("No libpcap provider available ! pcap won't be used")
841 Interceptor.set_from_hook(conf, "use_pcap", False)
842 else:
843 conf.L3socket = L3pcapSocket
844 conf.L3socket6 = functools.partial(
845 L3pcapSocket, filter="ip6")
846 conf.L2socket = L2pcapSocket
847 conf.L2listen = L2pcapListenSocket
848 elif conf.use_bpf:
849 from scapy.arch.bpf.supersocket import L2bpfListenSocket, \
850 L2bpfSocket, L3bpfSocket
851 conf.L3socket = L3bpfSocket
852 conf.L3socket6 = functools.partial(
853 L3bpfSocket, filter="ip6")
854 conf.L2socket = L2bpfSocket
855 conf.L2listen = L2bpfListenSocket
856 elif LINUX:
857 from scapy.arch.linux import L3PacketSocket, L2Socket, L2ListenSocket
858 conf.L3socket = L3PacketSocket
859 conf.L3socket6 = cast(
860 "Type[SuperSocket]",
861 functools.partial(
862 L3PacketSocket,
863 filter="ip6"
864 )
865 )
866 conf.L2socket = L2Socket
867 conf.L2listen = L2ListenSocket
868 elif WINDOWS:
869 from scapy.arch.windows import _NotAvailableSocket
870 from scapy.arch.windows.native import L3WinSocket, L3WinSocket6
871 conf.L3socket = L3WinSocket
872 conf.L3socket6 = L3WinSocket6
873 conf.L2socket = _NotAvailableSocket
874 conf.L2listen = _NotAvailableSocket
875 else:
876 from scapy.supersocket import L3RawSocket, L3RawSocket6
877 conf.L3socket = L3RawSocket
878 conf.L3socket6 = L3RawSocket6

Callers 2

__init__.pyFile · 0.90
_socket_changerFunction · 0.85

Calls 3

set_from_hookMethod · 0.80
reloadMethod · 0.45

Tested by

no test coverage detected