†
††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:
B) Instalamos librerias tcp-wrappers necesarias, para ello:
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
http://**********.us/a/img826/135/soca1.png
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:
g.2) Abrimos el archivo xio-openssl.c de la carpeta /usr/local/bin/socat-2.0.0-b5 y buscamos esta parte:
y la ponemos por ejemplo de esta manera:
H) Bueno pues ya podemos continuar, ahora en consola terminal ponemos:
http://**********.us/a/img688/3074/soca2.png
I) y luego para terminar:
http://**********.us/a/img269/769/soca3.png
y eso es todo:
http://**********.us/a/img405/6017/soca4.png
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:
Code:
apt-get install autotools-dev
Code:
apt-get install automake
Code:
apt-get install autoconf
Code:
apt-get install libtoolize
Code:
apt-get install build-essential
Code:
apt-get install g++
B) Instalamos librerias tcp-wrappers necesarias, para ello:
Code:
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
http://**********.us/a/img826/135/soca1.png
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:
Code:
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:
Code:
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:
Code:
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:
Code:
sudo make
http://**********.us/a/img688/3074/soca2.png
I) y luego para terminar:
Code:
sudo make install
http://**********.us/a/img269/769/soca3.png
y eso es todo:
http://**********.us/a/img405/6017/soca4.png