scapy.base_classes

Generators and packet meta classes.

class scapy.base_classes.BasePacket[source]

Bases: Gen[Packet]

class scapy.base_classes.BasePacketList[source]

Bases: Gen[_T]

class scapy.base_classes.Field_metaclass(name: str, bases: Tuple[type, ...], dct: Dict[str, Any])[source]

Bases: type

class scapy.base_classes.Gen[source]

Bases: Generic[_T]

class scapy.base_classes.Net(net: str, stop: str | None = None, scope: str | None = None)[source]

Bases: Gen[str]

Network object from an IP address or hostname and mask

Examples

  • With mask:

    >>> list(Net("192.168.0.1/24"))
    ['192.168.0.0', '192.168.0.1', ..., '192.168.0.255']
    
  • With ‘end’:

    >>> list(Net("192.168.0.100", "192.168.0.200"))
    ['192.168.0.100', '192.168.0.101', ..., '192.168.0.200']
    
  • With ‘scope’ (for multicast):

    >>> Net("224.0.0.1%lo")
    >>> Net("224.0.0.1", scope=conf.iface)
    
choice() str[source]
family: int = 2
static int2ip(val: int) str[source]
classmethod ip2int(addr: str) int[source]
max_mask: int = 32
name: str = 'Net'
classmethod name2addr(name: str) str[source]
class scapy.base_classes.OID(oid: str)[source]

Bases: Gen[str]

name = 'OID'
scapy.base_classes.PacketList_metaclass[source]

alias of Field_metaclass

class scapy.base_classes.Packet_metaclass(name: str, bases: Tuple[type, ...], dct: Dict[str, Any])[source]

Bases: type

scapy.base_classes.ScopedIP(net: str, scope: Any | None = None) _ScopedIP[source]

An str that also holds extra attributes.

Examples:

>>> ScopedIP("224.0.0.1%eth0")  # interface 'eth0'
>>> ScopedIP("224.0.0.1%1")  # interface index 1
>>> ScopedIP("224.0.0.1", scope=conf.iface)
class scapy.base_classes.SetGen(values: Any, _iterpacket: int = 1)[source]

Bases: Gen[_T]