port redirection again

Home Forums Discussions Support Portal port redirection again

This topic contains 3 replies, has 2 voices, and was last updated by  Vadim Smirnov 10 years, 4 months ago.

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

    Black
    Participant

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

    #6239

    Vadim Smirnov
    Moderator

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

    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
    Moderator

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

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.