scapy.interfaces

Interfaces management

class scapy.interfaces.InterfaceProvider[源代码]

基类:object

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

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

name = 'Unknown'
reload() Dict[str, NetworkInterface][源代码]

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

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

基类:object

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

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

class scapy.interfaces.NetworkInterfaceDict[源代码]

基类:UserDict[str, NetworkInterface]

Store information about network interfaces and convert between names

dev_from_index(if_index: int) NetworkInterface[源代码]

Return interface name from interface index

dev_from_name(name: str) NetworkInterface[源代码]

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

dev_from_networkname(network_name: str) NoReturn[源代码]

Return interface for a given network device name.

load_confiface() None[源代码]

Reload conf.iface

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

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[源代码]

Return interface for a given interface index

scapy.interfaces.dev_from_networkname(network_name: str) NetworkInterface[源代码]

Return Scapy device name for given network device name

scapy.interfaces.get_if_list() List[str][源代码]

Return a list of interface names

scapy.interfaces.get_working_if() NetworkInterface[源代码]

Return an interface that works

scapy.interfaces.get_working_ifaces() List[NetworkInterface][源代码]

Return all interfaces that work

scapy.interfaces.network_name(dev: NetworkInterface | str) str[源代码]

Resolves the device network name of a device or Scapy NetworkInterface

scapy.interfaces.resolve_iface(dev: NetworkInterface | str) NetworkInterface[源代码]

Resolve an interface name into the interface

scapy.interfaces.show_interfaces(resolve_mac: bool = True) None[源代码]

Print list of available network interfaces