winsock logging
jeg har lavet en socks5 proxyserverog 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
