[pfsockopen]Implementar conexión anónima de tor en un socket de PHP[Solucionado]

Iniciado por moikano→@, 4 Abril 2013, 19:22 PM

0 Miembros y 1 Visitante están viendo este tema.

moikano→@

Hola

Estoy intentando crear un script que conecte a un chat irc, mediante pfsockopen, y que utilize la onionrouting para dicha conexión.

Por supuesto la conexión debe ser persistente (ya que el chat irc envia un ping cada cierto tiempo y yo tengo que devolver un pong, aparte para no tener que loguearme y entrar en el canal para cada lectura y envio ) y por eso creo que curl no me sirve, tiene que ser con pfsockopen y sus derivados para escribir (fwrite,fread,...),

E intentado hacerlo ejecutando el script directamente con torsocks, comando usado para enmascarar una aplicación, la que sea.

No se por donde tirar ahora, estoy atascando haciendo pruebas que no se si van a ningún sitio y sobretodo no encuentro información al respecto en google.

Se me ocurren posibles soluciones, pero no se si son validas o si las hago mal.

posibles soluciones que se me ocurren:

1-Encapsular el socket dentro del curl (no se ni por donde empezar a probarlo y también me parece un poco locura)
2-Pasarle las headers a pelo dentro del socket y conectar directamente con tor, sería escribiendo las contraseñas con write todas seguidas y luego enviar el cuerpo del mensaje ( en este caso los comandos del irc) no se donde exactamente, esta opción me parece excesiva para lo que realmente quiero.
3-Curl si que puede hacer conexiones persistentes (o almenos para irc) y se acaba el problema ya que con curl si que existen tutoriales (?)

Creo que no puede ser tan complicado, no existe libreria para PHP (creo, porque la verdad me parece extraño) así que el camino debe ser ejecutarlo con la aplicación de tor, pero como? si la ejecuto con torsocks el script no ejecuta bien los comandos pfsockopen y por lo tanto no conecta.

Esto perdido, si alguien puede echarme una mano se lo agradeceria.

Gracias por leer.

PD: He estado investigando un poco mas y he descubierto que se puede intentar hacer con socat (una variante de netcat) creando un socket en la misma maquina y haciendo conexión del socket directamente en el puerto que te habrás con socat. No es definitivo, ya que estoy probandolo aún.

moikano→@

#1
Bueno, me auto respondo. Al final conseguí la solución en el chat irc de php.

Con esta linea de comando se puede hacer: socat TCP4-LISTEN:4242,fork SOCKS4A:localhost:barbaz.com:6667,socksport=9050

Si queréis el código lo pedís ya que no habéis respondido  ni os habéis interesado por el tema :rolleyes:

Fuente: https://trac.torproject.org/projects/tor/wiki/doc/SupportPrograms