scapy.dadict module

Direct Access dictionary.

class scapy.dadict.DADict(_name: str = 'DADict', **kargs: Any)[source]

Bases: Generic[_K, _V]

Direct Access Dictionary

This acts like a dict, but it provides a direct attribute access to its keys through its values. This is used to store protocols, manuf…

For instance, scapy fields will use a DADict as an enum:

ETHER_TYPES[2048] -> IPv4

Whereas humans can access:

ETHER_TYPES.IPv4 -> 2048
d: Dict[_K, _V]
ident(v: _V) str[source]

Return value that is used as key for the direct access

iterkeys() Iterator[_K][source]
itervalues() Iterator[_V][source]
keys() List[_K][source]
update(*args: Dict[_K, _V], **kwargs: Dict[_K, _V]) None[source]
values() List[_V][source]
exception scapy.dadict.DADict_Exception[source]

Bases: Scapy_Exception

scapy.dadict.fixname(x: bytes | str) str[source]

Modifies a string to make sure it can be used as an attribute name.