Interfaces management

class scapy.interfaces.InterfaceProvider[source]

Bases: object

header_sort = 1
headers: Tuple[str, ...] = ('Index', 'Name', 'MAC', 'IPv4', 'IPv6')
libpcap = False
load() Dict[str, NetworkInterface][source]

Returns a dictionary of the loaded interfaces, by their name.

name = 'Unknown'
reload() Dict[str, NetworkInterface][source]

Same than load() but for reloads. By default calls load

class scapy.interfaces.NetworkInterface(provider: InterfaceProvider, data: Dict[str, Any] | None = None)[source]

Bases: object

is_valid() bool[source]
l2listen() Type[SuperSocket][source]
l2socket() Type[SuperSocket][source]
l3socket(ipv6: bool = False) Type[SuperSocket][source]
update(data: Dict[str, Any]) None[source]

Update info about a network interface according to a given dictionary. Such data is provided by providers

class scapy.interfaces.NetworkInterfaceDict[source]

Bases: UserDict[str, NetworkInterface]

Store information about network interfaces and convert between names

dev_from_index(if_index: int) NetworkInterface[source]

Return interface name from interface index

dev_from_name(name: str) NetworkInterface[source]

Return the first network device name for a given device name.

dev_from_networkname(network_name: str) NoReturn[source]

Return interface for a given network device name.

load_confiface() None[source]

Reload conf.iface

register_provider(provider: type) None[source]
reload() None[source]
show(print_result: bool = True, hidden: bool = False, **kwargs: Any) str | None[source]

Print list of available network interfaces in human readable form

  • print_result – print the results if True, else return it

  • hidden – if True, also displays invalid interfaces

scapy.interfaces.dev_from_index(if_index: int) NetworkInterface[source]

Return interface for a given interface index

scapy.interfaces.dev_from_networkname(network_name: str) NetworkInterface[source]

Return Scapy device name for given network device name

scapy.interfaces.get_if_list() List[str][source]

Return a list of interface names

scapy.interfaces.get_working_if() NetworkInterface[source]

Return an interface that works

scapy.interfaces.get_working_ifaces() List[NetworkInterface][source]

Return all interfaces that work

scapy.interfaces.network_name(dev: NetworkInterface | str) str[source]

Resolves the device network name of a device or Scapy NetworkInterface

scapy.interfaces.resolve_iface(dev: NetworkInterface | str) NetworkInterface[source]

Resolve an interface name into the interface

scapy.interfaces.show_interfaces(resolve_mac: bool = True) None[source]

Print list of available network interfaces