Delphi 10 / Снифер

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by S[N]EP, 24 Jan 2011.

  1. S[N]EP

    S[N]EP Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    102
    Likes Received:
    28
    Reputations:
    10
    Здравствуйте, нужна помощь :)
    нужна программа которая будет как снифер слушать http запросы и сохранять в мемо, так же если запрос идёт на какой-либо сайт, то модифицировать его.

    воспользовался IdMappedPortTCP и IdHTTPProxyServer вроде всё выставил, что-бы пакет сохранялся в мемо, но... на Вин7 вообще работать отказывается, сайты не грузит, а на ХР норм, но проблемы с кодировкой.

    вопрос как можно исправить кодировку или снифер можно по другому как-то написать?
     
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    По кодировкам - материалов полно, документация, и в гугле на русском не мало находит. Сам уже попадался на как минимум 3 (!) статьи по кодировкам в новых дельфях.
    Подсказка: для вывода в мемо перекодируй строку в ANSI
     
  3. S[N]EP

    S[N]EP Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    102
    Likes Received:
    28
    Reputations:
    10
    да дело в том, что в мемо запрос правильно выводит, а вот в браузере при использовании такого прокси, кодировка неправильная
     
  4. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Твой вопрос является на данный момент чисто абстрактным: ты сообщил что есть некая проблема, подробностей ее проявления не указал, а я тогда должен перекопатить все исходники инди чтобы найти при каких исхожных данных проявится баг.
    Что конкретно ты отправляешь, как это выглядит в сниффере, исходный код..?
     
  5. S[N]EP

    S[N]EP Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    102
    Likes Received:
    28
    Reputations:
    10
    на форме: IdHTTPProxyServer1, IdMappedPortTCP1, memo1.
    в св-вах IdHTTPProxyServer1, IdMappedPortTCP1 выставлены порты.
    в св-ве IdMappedPortTCP1Execute:

    Code:
    procedure TForm1.IdMappedPortTCP1Execute(AContext: TIdContext);
    begin
    memo1.Lines.Add(TIdMappedPortContext(AContext).NetData);
    end;
    
    в натройках браузера выставлен порт локального прокси

    в итоге в браузер вводим какой-то сайт, в мемо появляются гет запросы, и получаю в браузере сайт с неправильной кодировкой. это на ХР
    а на вин 7 пишет не удалось загрузить страницу, хотя первый запрос в мемо появляется
     
  6. S[N]EP

    S[N]EP Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    102
    Likes Received:
    28
    Reputations:
    10
    проблема была в версии indy
    взял IdMappedPortTCP1 из delphi 7 и всё заработало нормально :)