elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  uso de Socks5 en NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: uso de Socks5 en NET  (Leído 303 veces)
FJDA

Desconectado Desconectado

Mensajes: 235


Ver Perfil
uso de Socks5 en NET
« en: 20 Enero 2021, 22:55 pm »

Usé el buscador de elhacker.net y solo encontré un hilo.

He intentado hacer que mi aplicación se conecte via socks5 con proxy de Tor (http://127.0.0.1:9150) pero sin éxito.

Por ejemplo mediante API:

Código
  1. Imports System.Runtime.InteropServices
  2. Imports System.Net
  3.  
  4. Public Class Form1
  5.    <Runtime.InteropServices.DllImport("wininet.dll", SetLastError:=True)> _
  6.    Private Shared Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As Integer, ByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As Integer) As Boolean
  7.    End Function
  8.  
  9.    Public Structure Struct_INTERNET_PROXY_INFO
  10.        Public dwAccessType As Integer
  11.        Public proxy As IntPtr
  12.        Public proxyBypass As IntPtr
  13.    End Structure
  14.  
  15.    Private Sub Use_Proxy(ByVal strProxy As String)
  16.        Const INTERNET_OPTION_PROXY As Integer = 38
  17.        'Const INTERNET_OPEN_TYPE_PROXY As Integer = 3
  18.        Const INTERNET_DEFAULT_SOCKS_PORT As Integer = 1080
  19.        Dim struct_IPI As Struct_INTERNET_PROXY_INFO
  20.  
  21.        struct_IPI.dwAccessType = INTERNET_DEFAULT_SOCKS_PORT
  22.        struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
  23.        struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local")
  24.  
  25.        Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))
  26.  
  27.        Marshal.StructureToPtr(struct_IPI, intptrStruct, True)
  28.  
  29.        Dim iReturn As Boolean = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI))
  30.    End Sub
  31.  
  32.  
  33.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  34.  
  35. Use_Proxy("http://127.0.0.1:9150")
  36.    End Sub
  37.  
  38.  


Para probarlo he intentado descargar una página WEB, pero antes he configurado IE para que se conecte mediante el proxy 127.0.0.1.  De modo que IE y Chrome no tiene acceso a no ser que TOR esté ejecutándose.    Sin embargo el programa descarga la WEB aunque TOR no se ejecute.                                                          

Código
  1.    Public Function ConseguirHTML(ByVal strURL As String) As String
  2.        Dim strCode As String
  3.  
  4.        Dim Request As Net.HttpWebRequest = Net.HttpWebRequest.Create(strURL)
  5.        Using StrReader As New IO.StreamReader(Request.GetResponse().GetResponseStream, System.Text.Encoding.UTF8)
  6.  
  7.            strCode = StrReader.ReadToEnd
  8.  
  9.        End Using
  10.  
  11.  



También probé lo siguiente:

Código
  1.     Dim wp As WebProxy = New WebProxy("http://127.0.0.1:9150")
  2.  
  3.        Using myWebClient As New System.Net.WebClient()
  4.  
  5.            myWebClient.Proxy = wp
  6.            myWebClient.UseDefaultCredentials = False
  7.  
  8.            Dim resultHTML() As Byte = myWebClient.DownloadData(strURL)
  9.            Dim DefaultEnc As System.Text.Encoding = System.Text.Encoding.Default
  10.            Dim myResultString As String = DefaultEnc.GetString(resultHTML)
  11.            Return myResultString
  12.        End Using
  13.  

Con esto ocurre dos cosas, si TOR no se ejecuta lanza el siguiente error:

Código:
SocketException: No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión 127.0.0.1:9150

Cuando TOR se está ejecutando lanza el siguiente error:

Código:
System.Net.WebException: 'Error en el servidor remoto: (501) Sin implementar.'

Sin importar la configuración de la red local que tenga.


No quiero tener que usar librerías de terceros, estaría bien una solución para esto. Se solucionaría si se conectara usando la configuración de IE, algo que obviamente no hace.


« Última modificación: 20 Enero 2021, 23:03 pm por FJDA » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Proxy http -> socks5 con ssh
GNU/Linux
VampirD 0 1,967 Último mensaje 8 Octubre 2010, 14:13 pm
por VampirD
Uso de Socks5 con navegador y motor de Firefox
.NET (C#, VB.NET, ASP)
Lekim 0 1,143 Último mensaje 13 Octubre 2015, 16:55 pm
por Lekim
¿Cómo hacer un tunnel entre socks5 y https proxy?
GNU/Linux
WHK 3 1,958 Último mensaje 28 Octubre 2015, 16:28 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines