port redirection again

Home Forums Discussions Support port redirection again

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5092
    Black
    Participant

      Добрый день.
      Суть проблемы в следующем. Исходящий трафик необходимо перенаправлять на локальный порт, а дальше все данные отсылать через SOCKS сервер. Для изменения порта и адреса получателя использую WinpkFilter в фильтрующем режиме . Так вот проблема в том, что когда я на своем локальном сервере получаю исходящий конект, я не имею представления куда он изначально был направлен.Есть ли возможно, как нибудь, узнать эти данные средствами WinpkFilter? Или как можно получше это реализовать?
      Заранне благодарю.

      #6239
      Vadim Smirnov
      Keymaster

        Суть ясна, варианта можно предложить два:

        1) Добавить данные в дополнительный заголовок или в хвост пакета
        2) Если решение локальное (адрес источника всегда один и тот же), то можно записать адрес куда изначально был направлен пакет в поле Source IP

        #6240
        Black
        Participant

          Здравствуйте.
          Вот возник еще вопрос.
          Клиент пытаеться законектиться к удаленному серверу. При помощи WinpkFilter изменяю:


          memset((void*)&dest_sin, 0, sizeof(dest_sin));
          dest_sin.sin_addr.s_addr = pIp->ip_dst.S_un.S_addr;
          dest_sin.sin_port = pTcp->th_dport;
          dest_sin.sin_family = AF_INET;
          pIp->ip_dst.S_un.S_addr = loc_sin.sin_addr.s_addr;//локальный IP полученный при //помощи gethostname и gethostbyname
          pTcp->th_dport = htons(8888);//порт локального сервера
          RecalculateIPChecksum(pIp);
          RecalculateTCPChecksum(&PacketBuffer);

          Дальше все как в PassThru примере. Так вот на сервере вижу что конект пришел, тоесть срабатывает accept .А вот в клиенте функция connect не срабатывает и возвращает ошибку 10060 (завершение конекта по таймауту). Я так пологаю, что клинет не получает от сервера Ack и Syn. А чем моя ошибка?
          Заранне благодарю.

          #6241
          Vadim Smirnov
          Keymaster

            А с пакетами приходяшими в обратную сторону Вы что делаете? Там по идее нужно подставить обратно адрес источника, чтобы клиент видел что ему сервер ответил, а не кто-то другой…

          Viewing 4 posts - 1 through 4 (of 4 total)
          • You must be logged in to reply to this topic.