• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема с прокси-сервером на Vb6

  • Автор темы JackBauer
  • Дата начала
Статус
Закрыто для дальнейших ответов.
J

JackBauer

Доброго времени суток, господа программисты. Сразу предупреждаю, что в программировании я новичек, поэтому прошу прощения если мой вопрос покажется вам слишком дилетантским.
Я пытаюсь написать прокси сервер для одной онлайн игры, чтобы определенным образом обрабатывать исходящие пкакеты и частично автоматизировать игровой процесс. Столкнулся со следующей проблемой: прокси почему-то не принимает пакеты с сервера. B)
Вот код:
Dim CPacket As String
Dim SPacket As String

Private Sub Form_Load()
Winsock1.LocalPort = 2020
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData CPacket
If Mid(CPacket, 1, 7) = "CONNECT" Then Server_Connect Else Data_Sending
End Sub

Private Sub Server_Connect()
Winsock2.RemoteHost = "Здесь я указал ИП сервера"
Winsock2.RemotePort = А здесь порт
Winsock2.Connect
End Sub

Private Sub Winsock2_Connect()
Winsock2.SendData CPacket
End Sub

Private Sub Data_Sending()
Winsock2.SendData CPacket
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Winsock2.GetData SPacket
Text1.Text = SPacket
Winsock1.SendData SPacket
End Sub

Проходя через мой прокси, клиент игры напрочь отказывается соединятся с сервером. Что я делаю не так? Заранее благодарен за ваш развернутый ответ. :facepalm:
 
J

JackBauer

Вот еще вариант, тоже не рабочий :facepalm:
Dim SPacket As String
Dim CPacket As String

Private Sub Form_Load()
Winsock1.LocalPort = 2020
Winsock1.Listen
Winsock2.RemoteHost = "IP"
Winsock2.RemotePort = Port
Winsock2.Connect
End Sub


Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData CPacket
Text1.Text = Text1.Text + "Принял пакет от клиента: " + CPacket + Chr(13) + Chr(10)
Winsock2.SendData CPacket
End Sub

Private Sub Winsock2_Connect()
Text1.Text = Text1.Text + "Соединение с сервером установлено..." + Chr(13) + Chr(10)
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Winsock2.GetData SPacket
Text1.Text = Text1.Text + "Принял пакет от сервера: " + SPacket + Chr(13) + Chr(10)
Winsock1.SendData SPacket
End Sub

Содержимое text1.text:
Соединение с сервером установлено...
Принял пакет от клиента: CONNECT Здесь было ИП:А здесь порт HTTP/1.0
 
J

JackBauer

Проблема решена: нужно было ответить клиету в виде: HTTP/1.0 200 OK
Особенность протокола. :facepalm:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!