scapy.contrib.oncrpc

class scapy.contrib.oncrpc.Auth_RPCSEC_GSS(_pkt, /, *, gss_version=0, gss_procedure=0, gss_seq_num=0, gss_service=0, gss_context=<Object_Name  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.Auth_RPCSEC_GSS'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (Auth_RPCSEC_GSS).gss_version>, <IntField (Auth_RPCSEC_GSS).gss_procedure>, <IntField (Auth_RPCSEC_GSS).gss_seq_num>, <IntField (Auth_RPCSEC_GSS).gss_service>, <PacketField (Auth_RPCSEC_GSS).gss_context>]
class scapy.contrib.oncrpc.Auth_Unix(_pkt, /, *, stamp=0, mname=<Object_Name  |>, uid=0, gid=0, num_auxgids=0, auxgids=[])[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.Auth_Unix'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XIntField (Auth_Unix).stamp>, <PacketField (Auth_Unix).mname>, <IntField (Auth_Unix).uid>, <IntField (Auth_Unix).gid>, <IntField (Auth_Unix).num_auxgids>, <FieldListField (Auth_Unix).auxgids>]
class scapy.contrib.oncrpc.Object_Name(_pkt, /, *, length=0, _name=b'', fill=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.Object_Name'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (Object_Name).length>, <StrLenField (Object_Name)._name>, <StrLenField (Object_Name).fill>]
set(name, length=None, fill=None)[source]
class scapy.contrib.oncrpc.RM_Header(_pkt, /, *, rm=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.RM_Header'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XIntField (RM_Header).rm>]
post_build(pkt, pay)[source]

Override of post_build to set the rm header == len(payload)

class scapy.contrib.oncrpc.RPC(_pkt, /, *, xid=0, mtype=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.RPC'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XIntField (RPC).xid>, <IntEnumField (RPC).mtype>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'mtype': 0}, <class 'scapy.contrib.oncrpc.RPC_Call'>), ({'mtype': 1}, <class 'scapy.contrib.oncrpc.RPC_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.GETATTR_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.GETATTR_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.LOOKUP_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.LOOKUP_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.NULL_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.NULL_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.FSINFO_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.FSINFO_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.PATHCONF_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.PATHCONF_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.ACCESS_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.ACCESS_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.READDIRPLUS_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.READDIRPLUS_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.WRITE_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.WRITE_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.COMMIT_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.COMMIT_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.SETATTR_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.SETATTR_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.FSSTAT_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.FSSTAT_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.CREATE_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.CREATE_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.REMOVE_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.REMOVE_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.READDIR_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.READDIR_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.RENAME_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.RENAME_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.LINK_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.LINK_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.RMDIR_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.RMDIR_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.READLINK_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.READLINK_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.READ_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.READ_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.MKDIR_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.MKDIR_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nfs.SYMLINK_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nfs.SYMLINK_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.mount.NULL_Call'>), ({'mtype': 1}, <class 'scapy.contrib.mount.NULL_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.mount.MOUNT_Call'>), ({'mtype': 1}, <class 'scapy.contrib.mount.MOUNT_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.mount.UNMOUNT_Call'>), ({'mtype': 1}, <class 'scapy.contrib.mount.UNMOUNT_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.SHARE_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.SHARE_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.UNSHARE_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.UNSHARE_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.LOCK_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.LOCK_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.UNLOCK_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.UNLOCK_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.GRANTED_MSG_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.GRANTED_MSG_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.GRANTED_RES_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.GRANTED_RES_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.CANCEL_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.CANCEL_Reply'>), ({'mtype': 0}, <class 'scapy.contrib.nlm.TEST_Call'>), ({'mtype': 1}, <class 'scapy.contrib.nlm.TEST_Reply'>)]
class scapy.contrib.oncrpc.RPC_Call(_pkt, /, *, version=2, program=100003, pversion=3, procedure=0, aflavor=1, alength=None, a_unix=<Auth_Unix  mname=<Object_Name  |> |>, a_rpcsec_gss=<Auth_RPCSEC_GSS  gss_context=<Object_Name  |> |>, vflavor=0, vlength=None, v_unix=<Auth_Unix  mname=<Object_Name  |> |>, v_rpcsec_gss=<Verifier_RPCSEC_GSS  |>)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.RPC_Call'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (RPC_Call).version>, <IntField (RPC_Call).program>, <IntField (RPC_Call).pversion>, <IntField (RPC_Call).procedure>, <IntEnumField (RPC_Call).aflavor>, <IntField (RPC_Call).alength>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <IntEnumField (RPC_Call).vflavor>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'procedure': 1, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.GETATTR_Call'>), ({'procedure': 3, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.LOOKUP_Call'>), ({'procedure': 0, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.NULL_Call'>), ({'procedure': 19, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.FSINFO_Call'>), ({'procedure': 20, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.PATHCONF_Call'>), ({'procedure': 4, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.ACCESS_Call'>), ({'procedure': 17, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.READDIRPLUS_Call'>), ({'procedure': 7, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.WRITE_Call'>), ({'procedure': 21, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.COMMIT_Call'>), ({'procedure': 2, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.SETATTR_Call'>), ({'procedure': 18, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.FSSTAT_Call'>), ({'procedure': 8, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.CREATE_Call'>), ({'procedure': 12, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.REMOVE_Call'>), ({'procedure': 16, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.READDIR_Call'>), ({'procedure': 14, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.RENAME_Call'>), ({'procedure': 15, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.LINK_Call'>), ({'procedure': 13, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.RMDIR_Call'>), ({'procedure': 5, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.READLINK_Call'>), ({'procedure': 6, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.READ_Call'>), ({'procedure': 9, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.MKDIR_Call'>), ({'procedure': 10, 'program': 100003, 'pversion': 3}, <class 'scapy.contrib.nfs.SYMLINK_Call'>), ({'procedure': 0, 'program': 100005, 'pversion': 3}, <class 'scapy.contrib.mount.NULL_Call'>), ({'procedure': 1, 'program': 100005, 'pversion': 3}, <class 'scapy.contrib.mount.MOUNT_Call'>), ({'procedure': 3, 'program': 100005, 'pversion': 3}, <class 'scapy.contrib.mount.UNMOUNT_Call'>), ({'procedure': 20, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.SHARE_Call'>), ({'procedure': 21, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.UNSHARE_Call'>), ({'procedure': 2, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.LOCK_Call'>), ({'procedure': 4, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.UNLOCK_Call'>), ({'procedure': 10, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.GRANTED_MSG_Call'>), ({'procedure': 15, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.GRANTED_RES_Call'>), ({'procedure': 3, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.CANCEL_Call'>), ({'procedure': 1, 'program': 100021, 'pversion': 4}, <class 'scapy.contrib.nlm.TEST_Call'>)]
post_build(pkt, pay)[source]

Override of post_build to handle length fields

set_auth(**kwargs)[source]

Used to easily set the fields in an a_unix packet

class scapy.contrib.oncrpc.RPC_Reply(_pkt, /, *, reply_stat=0, flavor=0, a_unix=<Auth_Unix  mname=<Object_Name  |> |>, length=0, accept_stat=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.RPC_Reply'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<IntField (RPC_Reply).reply_stat>, <IntEnumField (RPC_Reply).flavor>, <scapy.fields.ConditionalField object>, <IntField (RPC_Reply).length>, <IntField (RPC_Reply).accept_stat>]
set_auth(**kwargs)[source]

Used to easily set the fields in an a_unix packet

class scapy.contrib.oncrpc.Verifier_RPCSEC_GSS(_pkt, /, *, len=None, data=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.oncrpc.Verifier_RPCSEC_GSS'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (Verifier_RPCSEC_GSS).len>, <StrLenField (Verifier_RPCSEC_GSS).data>]