Exemple #1
0
def DCERPCTransportFactory(stringbinding):
    sb = DCERPCStringBinding(stringbinding)

    na = sb.get_network_address()
    ps = sb.get_protocol_sequence()
    if 'ncadg_ip_udp' == ps:
        port = sb.get_endpoint()
        if port:
            return UDPTransport(na, int(port))
        else:
            return UDPTransport(na)
    elif 'ncacn_ip_tcp' == ps:
        port = sb.get_endpoint()
        if port:
            return TCPTransport(na, int(port))
        else:
            return TCPTransport(na)
    elif 'ncacn_http' == ps:
        port = sb.get_endpoint()
        if port:
            return HTTPTransport(na, int(port))
        else:
            return HTTPTransport(na)
    elif 'ncacn_np' == ps:
        named_pipe = sb.get_endpoint()
        if named_pipe:
            named_pipe = named_pipe[len(r'\pipe'):]
            return SMBTransport(na, filename=named_pipe)
        else:
            return SMBTransport(na)
    elif 'ncalocal' == ps:
        named_pipe = sb.get_endpoint()
        return LOCALTransport(filename=named_pipe)
    else:
        raise DCERPCException("Unknown protocol sequence.")
Exemple #2
0
    def connect(self):
        TCPTransport.connect(self)

        self.get_socket().send('RPC_CONNECT ' + self.getRemoteHost() +
                               ':593 HTTP/1.0\r\n\r\n')
        data = self.get_socket().recv(8192)
        if data[10:13] != '200':
            raise DCERPCException("Service not supported.")
Exemple #3
0
 def connect(self):
     af, socktype, proto, canonname, sa = socket.getaddrinfo(
         self.getRemoteHost(), self.get_dport(), 0, socket.SOCK_STREAM)[0]
     self.__socket = socket.socket(af, socktype, proto)
     try:
         self.__socket.settimeout(self.get_connect_timeout())
         self.__socket.connect(sa)
     except socket.error, msg:
         self.__socket.close()
         raise DCERPCException("Could not connect: %s" % msg)
Exemple #4
0
 def __init__(self, error_string=None, error_code=None, packet=None):
     DCERPCException.__init__(self, error_string, error_code, packet)