Avatar billede slapstick Nybegynder
17. december 2004 - 13:57 Der er 3 kommentarer og
1 løsning

winsock logging

jeg har lavet en socks5 proxyserver
og så vil jeg selvfølgelig gerne logge alt så jeg kan fange eventuelt misbrug..
men når jeg logger dataen der bliver sendt til min socks5 proxy som den så skal sende videre så står det som en masse ????????????
eksempel:

Connect from: 127.0.0.1
127.0.0.1 Authenticating...
127.0.0.1 Authentication accepted.
127.0.0.1 Is connected on 17-12-2004 13:53:44
127.0.0.1 Sending command: CONNECT
127.0.0.1 Connecting to: 195.47.220.2:6667
127.0.0.1 Sending: ??????????????????????????»???????•????
127.0.0.1 Sending: ????????
127.0.0.1 Sending: ?????????????????????
127.0.0.1 Sending: ????????????????????

nogen der ved hvad der går galt? og hvad man eventuelt kan gøre for at få noget læseligt ud af det?

den bid af koden der logger ovenstående kommer her:

Public Sub wskInt_DataArrival(Index As Integer, ByVal bytesTotal As Long)
On Error Resume Next

    Dim CMD As String, Host As String, Port As Long, lpos As Long
   
    Dim Request
   
    frmMain.wskInt(Index).GetData Request
   
    With socksRecord(Index)
        Select Case .sStat
   
            Case 0: 'Method select
                    .sVersion = Request(0)
                   
                    If .sVersion = 5 Then
                                                           
                        .sMethodCnt = Request(1)
                        .sSelectedMethod = &HFF 'Not Acceptable
                   
                        For i = 1 To .sMethodCnt
                       
                            .sMethods(i) = Request(1 + i)
                           
                            If .sMethods(i) = 2 Then
                           
                                .sSelectedMethod = 2
                               
                                Exit For
                               
                            End If
                           
                        Next i
                       
                        .sStat = 1
                 
                        'Method Selection
                        frmMain.wskInt(Index).SendData Chr$(.sVersion) & Chr$(.sSelectedMethod)
                       
                    Else
                                       
                    End If
                   
            Case 1: 'Auth
           
                    Call ShrocksLog("Connect from: " & wskInt(Index).RemoteHostIP & vbCrLf & wskInt(Index).RemoteHostIP & " Authenticating...")
           
                    For i = 0 To Request(1) - 1
                        .sUsername = .sUsername & Chr(Request(2 + i))
                    Next
                    For i = 0 To Request(2 + Len(.sUsername)) - 1
                        .sPassword = .sPassword & Chr(Request(3 + Len(.sUsername) + i))
                    Next
                   
                    If isValidUser(.sUsername, .sPassword) Then
                        .sStat = 2
                        frmMain.wskInt(Index).SendData Chr$(1) & Chr$(0)
                       
                        Call ShrocksLog(wskInt(Index).RemoteHostIP & " Authentication accepted." & vbCrLf & wskInt(Index).RemoteHostIP & " Is connected on " & Now())
                       
                    Else
                        frmMain.wskInt(Index).SendData Chr$(1) & Chr$(1)
                       
                        Call ShrocksLog(wskInt(Index).RemoteHostIP & " Authentication failed.")
                       
                    End If
                   
            Case 2: 'Accepted
           
                    Select Case Request(1)
                       
                        Case Is = &H1 'CONNECT
                               
                                CMD = "CONNECT"
                     
                        Case Is = &H2 'BIND
                               
                                CMD = "BIND"
                               
                        Case Is = &H3 'UDP Associate
                               
                                CMD = "UDP"
                               
                    End Select
                       
                    Call ShrocksLog(wskInt(Index).RemoteHostIP & " Sending command: " & CMD)
                       
                        'Host?
                    Select Case Request(3) 'Type of Host
                        Case Is = &H1 'IPv4
                           
                            For i = 0 To 2
                                Host = Host & Request(4 + i) & "."
                            Next i
                           
                            Host = Host & Request(7)
                           
                            lpos = 8
                           
                        Case Is = &H3 'String
                   
                            'First is length
                            lpos = Request(4)
                            For i = 0 To lpos - 1
                                Host = Host & Chr(Request(5 + i))
                            Next
                            lpos = 5 + lpos
                           
                        Case Is = &H4 'IPv6
                           
                            For i = 0 To 4
                                Host = Host & "." & Request(4 + i)
                            Next i
                   
                            Host = Host & Request(9)
                           
                            lpos = 10
                           
                    End Select
                   
                    'Port?
                    'In Network-Order
                   
                    Port = Request(lpos) * 256 + Request(lpos + 1)
               
                    Load frmMain.wskExt(Index)
                   
                    Call ShrocksLog(wskInt(Index).RemoteHostIP & " Connecting to: " & Host & ":" & Port)
                   
                    With frmMain.wskExt(Index)
                       
                        .RemoteHost = Host
                        .RemotePort = Port
                        .Connect
                   
                    End With
                   
                    .sStat = 3
           
            Case 3: 'ok
           
                    Call ShrocksLog(wskInt(Index).RemoteHostIP & " Sending: " & CStr(Request))
           
                    frmMain.wskExt(Index).SendData Request
   
        End Select
       
    End With
   
End Sub
Avatar billede inglenook Praktikant
17. december 2004 - 18:13 #1
sikkert et skud i taagen, men alligevel:
Jeg har set det samme problem med en proxy foer hvor maskinen kun havde support for engelsk installeret. Naar folk sendte data gennem proxien fra en maskine med f.eks. russisk installeret viste den bare underlige karakterer eller (mest) spoergtsmaalstegn.
Hvilken slags data sender du gennem proxien ?
Avatar billede slapstick Nybegynder
18. december 2004 - 02:55 #2
helt almindelig string data så vidt jeg ved
jeg connecter sådanset bare til irc igennem den med mirc
Avatar billede fizz Nybegynder
26. december 2004 - 23:49 #3
jeg kunne da godt lige tænke mig en lille kopi af din kode, for at se hvorn en socks5 virker :) ...plz
Avatar billede slapstick Nybegynder
22. februar 2005 - 16:09 #4
nå det fik jeg sgu aldrig løst
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester