MCPcopy Create free account
hub / github.com/secdev/scapy / DceRpcSocket

Class DceRpcSocket

scapy/layers/dcerpc.py:3284–3309  ·  view source on GitHub ↗

A Wrapper around StreamSocket that uses a DceRpcSession

Source from the content-addressed store, hash-verified

3282
3283
3284class DceRpcSocket(StreamSocket):
3285 """
3286 A Wrapper around StreamSocket that uses a DceRpcSession
3287 """
3288
3289 def __init__(self, *args, **kwargs):
3290 self.transport = kwargs.pop("transport", None)
3291 self.session = DceRpcSession(
3292 ssp=kwargs.pop("ssp", None),
3293 auth_level=kwargs.pop("auth_level", None),
3294 support_header_signing=kwargs.pop("support_header_signing", True),
3295 )
3296 super(DceRpcSocket, self).__init__(*args, **kwargs)
3297
3298 def send(self, x, **kwargs):
3299 for pkt in self.session.out_pkt(x):
3300 if self.transport == DCERPC_Transport.NCACN_NP:
3301 # In this case DceRpcSocket wraps a SMB_RPC_SOCKET, call it directly.
3302 self.ins.send(pkt, **kwargs)
3303 else:
3304 super(DceRpcSocket, self).send(pkt, **kwargs)
3305
3306 def recv(self, x=None):
3307 pkt = super(DceRpcSocket, self).recv(x)
3308 if pkt is not None:
3309 return self.session.in_pkt(pkt)
3310
3311
3312# --- TODO cleanup below

Callers 2

from_smblinkMethod · 0.90
connectMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…