Resultados 1 al 1 de 1






compilar socat en entorno ubuntu para ubuntu 12.04


Estás en el tema compilar socat en entorno ubuntu para ubuntu 12.04 dentro del subforo Linux en LonasDigital. Bueno os dejo como crearnos nuestra version socat con ubuntu... Aunque podemos instalar socat poniendo en terminal: apt-get install socat Pero en caso que queramos compilar la ultima version de socat por nosotros mismos, haremos los pasos siguientes:...



Este tema tuvo 650 Visitas y 0 Respuestas

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

  1. #1
    Avatar de ††LUCIFER††

    ††LUCIFER†† ha iniciado este hilo.
    ††LUCIFER††


    Bueno os dejo como crearnos nuestra version socat con ubuntu...


    Aunque podemos instalar socat poniendo en terminal:


    apt-get install socat


    Pero en caso que queramos compilar la ultima version de socat por nosotros mismos, haremos los pasos siguientes:


    A) Instalamos las librerias necesarias para que nos funcione ./configure, para ellos:


    Código:
    apt-get install autotools-dev

    Código:
    apt-get install automake

    Código:
    apt-get install autoconf

    Código:
    apt-get install libtoolize

    Código:
    apt-get install build-essential

    Código:
    apt-get install g++

    B) Instalamos librerias tcp-wrappers necesarias, para ello:


    Código:
    apt-get install libwrap0-dev



    C) Nos descargamos la ultima version socat de su pagina oficial:


    Index of /socat/download




    D) descomprimimos los archivos por ejemplo en /usr/local/bin/


    E) En caso que nos hallamos descargado la ultima version pues en terminal ponemos:


    cd /usr/local/bin/socat-2.0.0-b5


    F) A continuacion en terminal ponemos sudo ./configure




    [IMG]http://**********.us/a/img826/135/soca1.png[/IMG]




    G)Como este pograma lleva el protocolo SSLv2 que esta obsoleto por muchos problemas de seguridad esta eliminado de ubuntu ultimas versiones,por lo tanto si ahora usaramos make, daria error en ese protocolo ya que esta eliminado de ubuntu, por lo tanto vamos a eliminarlo nosotros antes de seguir compilando:


    g.1) abrimos el archivo sslcls.c de la carpeta /usr/local/bin/socat-2.0.0-b5


    y eliminamos esto:




    Código:
    
    SSL_METHOD *sycSSLv2_client_method(void) {
     SSL_METHOD *result;
     Debug("SSLv2_client_method()");
     result = SSLv2_client_method();
     Debug1("SSLv2_client_method() -> %p", result);
     return result;
    }
    
    
    SSL_METHOD *sycSSLv2_server_method(void) {
     SSL_METHOD *result;
     Debug("SSLv2_server_method()");
     result = SSLv2_server_method();
     Debug1("SSLv2_server_method() -> %p", result);
     return result;
    }



    g.2) Abrimos el archivo xio-openssl.c de la carpeta /usr/local/bin/socat-2.0.0-b5 y buscamos esta parte:




    Código:
    
    if (!server) {
     if (me_str != 0) {
     if (!strcasecmp(me_str, "SSLv2") || !strcasecmp(me_str, "SSL2")) {
     method = sycSSLv2_client_method();
     } else if (!strcasecmp(me_str, "SSLv3") || !strcasecmp(me_str, "SSL3")) {
     method = sycSSLv3_client_method();
     } else if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23") ||
     !strcasecmp(me_str, "SSL")) {
     method = sycSSLv23_client_method();
     } else if (!strcasecmp(me_str, "TLSv1") || !strcasecmp(me_str, "TLS1") ||
     !strcasecmp(me_str, "TLS")) {
     method = sycTLSv1_client_method();
     } else {
     Error1("openssl-method=\"%s\": unknown method", me_str);
     method = sycSSLv23_client_method()/*!*/;
     }
     } else {
     method = sycSSLv23_client_method()/*!*/;
     }
     } else /* server */ {
     if (me_str != 0) {
     if (!strcasecmp(me_str, "SSLv2") || !strcasecmp(me_str, "SSL2")) {
     method = sycSSLv2_server_method();
     } else if (!strcasecmp(me_str, "SSLv3") || !strcasecmp(me_str, "SSL3")) {
     method = sycSSLv3_server_method();
     } else if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23") ||
     !strcasecmp(me_str, "SSL")) {
     method = sycSSLv23_server_method();
     } else if (!strcasecmp(me_str, "TLSv1") || !strcasecmp(me_str, "TLS1") ||
     !strcasecmp(me_str, "TLS")) {
     method = sycTLSv1_server_method();
     } else {
     Error1("openssl-method=\"%s\": unknown method", me_str);
     method = sycSSLv23_server_method()/*!*/;
     }
     } else {
     method = sycSSLv23_server_method()/*!*/;
     }
     }

    y la ponemos por ejemplo de esta manera:




    Código:
    
    if (!server) {
     if (me_str != 0) {
     if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23")) {
     method = sycSSLv3_client_method();
     } else if (!strcasecmp(me_str, "SSLv3") || !strcasecmp(me_str, "SSL3")) {
     method = sycSSLv3_client_method();
     } else if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23") ||
     !strcasecmp(me_str, "SSL")) {
     method = sycSSLv23_client_method();
     } else if (!strcasecmp(me_str, "TLSv1") || !strcasecmp(me_str, "TLS1") ||
     !strcasecmp(me_str, "TLS")) {
     method = sycTLSv1_client_method();
     } else {
     Error1("openssl-method=\"%s\": unknown method", me_str);
     method = sycSSLv23_client_method()/*!*/;
     }
     } else {
     method = sycSSLv23_client_method()/*!*/;
     }
     } else /* server */ {
     if (me_str != 0) {
     if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23")) {
     method = sycSSLv3_server_method();
     } else if (!strcasecmp(me_str, "SSLv3") || !strcasecmp(me_str, "SSL3")) {
     method = sycSSLv3_server_method();
     } else if (!strcasecmp(me_str, "SSLv23") || !strcasecmp(me_str, "SSL23") ||
     !strcasecmp(me_str, "SSL")) {
     method = sycSSLv23_server_method();
     } else if (!strcasecmp(me_str, "TLSv1") || !strcasecmp(me_str, "TLS1") ||
     !strcasecmp(me_str, "TLS")) {
     method = sycTLSv1_server_method();
     } else {
     Error1("openssl-method=\"%s\": unknown method", me_str);
     method = sycSSLv23_server_method()/*!*/;
     }
     } else {
     method = sycSSLv23_server_method()/*!*/;
     }
     }



    H) Bueno pues ya podemos continuar, ahora en consola terminal ponemos:


    Código:
    sudo make



    [IMG]http://**********.us/a/img688/3074/soca2.png[/IMG]


    I) y luego para terminar:




    Código:
    sudo make install



    [IMG]http://**********.us/a/img269/769/soca3.png[/IMG]




    y eso es todo:




    [IMG]http://**********.us/a/img405/6017/soca4.png[/IMG]



    Citar Citar  

  2. Los siguientes usuarios agradecieron a ††LUCIFER†† por su mensaje :

    r3s3t (27-10-12)


  3. QoinPro.com: Free Bitcoins every 24 hours


Subir