¿Cómo haría para enviar comandos TCP a través de una conexión SSL alojada por un proceso diferente (en la misma computadora)? ¿Cómo harías para registrar la misma conexión?

Esto depende de lo que signifique su pregunta. Si quiere decir que puede comunicarse con un proceso SSL en la misma computadora, la respuesta es sí, vea los conceptos de auto-bucle mencionados para saber cómo conectarse a otro proceso en el mismo sistema. Si se comunica a través de SSL (HTTPS) o no, no debería ser un problema, eso es entre usted y el programa con el que se está comunicando.

Si, por otro lado, si quiere decir cómo puede romper (man-in-the-middle) una conexión establecida por otro proceso en la misma máquina. Si está en el espacio de usuario (por ejemplo, no en el núcleo o en un controlador de dispositivo), el sistema operativo debe proteger la conexión de cualquier otro proceso, por lo que no puede hacerlo, a menos que coopere con el proceso o de alguna manera interrumpa La seguridad de su sistema. Ahora, si tiene todos los derechos (son “superusuario”), puede haber algunas formas de anular los mecanismos de seguridad, pero no he hecho ese nivel de pirateo desde hace tiempo. Algunas de las otras respuestas han sugerido formas, podría derrotar los mecanismos de seguridad para ciertos casos, pero que no funcionen en todos los casos que yo sepa. La instalación de su propio controlador de dispositivo debería funcionar y permitirle el acceso, al menos a la secuencia cifrada. Reemplazar el paquete openSSL también debería funcionar, siempre que el usuario no tenga una copia privada de openSSL estáticamente vinculada a su proceso.

Una de las razones por las que tenemos sistemas operativos (y bibliotecas de cifrado) es que no confiamos en otros procesos (ni siquiera necesariamente en el propio sistema) y estamos tratando de proteger algunos datos. Es una falla de seguridad si puede forzar una conexión que pertenece a otro proceso, incluso si tiene todos los derechos.

Java:
1. Self-Looping, 127.0.0.1 o su nombre de host, para enviar datos a usted mismo. Distiéndalo en función de la identificación del proceso (del remitente) o use su propio identificador único (rango de valores enteros).

2. Registro, agregue sus id_procesos a “Log _” + pid + “. Txt”, estos serán archivos de registro del servidor, donde cada uno de sus procesos actins como servidor guardará su propio archivo.

He hecho un bucle automático, estaba tratando de hacer que los hilos se comuniquen entre sí (también hay otras formas). El registro se realizó utilizando pid, no recuerdo la función particular utilizada para obtenerlo, googlearlo.

Editar: también puede usar identificadores de subproceso, pero están limitados para usarse en un solo proceso; de lo contrario, habrá duplicación.

Tendrá que obtener el programa de iniciación para cooperar de alguna manera.

Una posibilidad es configurarlo para usar un proxy local, por ejemplo, HTTP a HTTPS, y así permitir que el proxy inicie la conexión SSL y registre el texto sin formato.

Pero para interacciones más complejas, debe hacer que el iniciador escuche los comandos de otros procesos, por ejemplo, en un socket de dominio Unix. Por supuesto, esto implica modificar su código.

Por último, podría ser posible escribir una biblioteca SSL falsa y LD_PRELOAD para interceptar y alterar el texto sin formato. Sin embargo, no sé si algo así ya existe.

No estoy muy versado en las técnicas SSL, pero ¿sería útil PuTTY (un cliente gratuito de telnet / ssh)? Lo uso para comunicarme con Beaglebone Blacks y Raspberry Pis.

El proceso que inició la conexión tiene que realizar la comunicación. Por lo tanto, deberá asegurarse de que su programa pueda comunicarse con él de alguna manera e indicar lo que debe comunicarse. Le diré que el requisito de utilizar una conexión existente en lugar de establecer una conexión propia parece un poco extraño.