Esempio n. 1
0
    def __init__(self, src, dst, payload=""):
        kwargs = {}
        kwargs["my_mac"] = src[0]
        kwargs["my_ip"] = src[1]
        if len(src) == 3:
            srcport = src[2]
            kwargs["my_port"] = srcport

        kwargs["other_mac"] = dst[0]
        kwargs["other_ip"] = dst[1]
        kwargs["other_port"] = dst[2]
        kwargs["connection_over_cb"] = self.connectionClosed
        kwargs["has_data_to_send_cb"] = self.connHasDataToSend
        kwargs["payload"] = payload

        self.d = None  # deferred

        TcpConnection.__init__(self, **kwargs)
        Client.__init__(self)
Esempio n. 2
0
    def createConnection(self, packet, socPair, *args, **kwargs):
        if len(self.connections) >= self.max_active_conns:
            s = "Ignoring new connection request:"
            s += "already have %d active connections"
            log.warn(s % self.max_active_conns)
            return None

        if not self.agent.isSyn(packet):
            return None

        _kwargs = {}
        _kwargs.update(kwargs)
        _kwargs["connection_over_cb"] = self.connectionClosed
        _kwargs["has_data_to_send_cb"] = self.connHasDataToSend
        conn = TcpConnection.createFromPacket(packet, **_kwargs)

        return conn