Снифер!

Тема в разделе "Delphi - Система", создана пользователем Codekid, 23 янв 2007.

Статус темы:
Закрыта.
  1. Codekid

    Codekid Гость

    Вот возник вопрос - есть код снифере , но нужно чтобы в передоваемом пакете можно было менять внутрености...
    Например поймал пакет :
    // ------------------------------ Packet dump -----------------------------------
    // 000000 45 00 00 4E D8 91 00 00 | 80 11 DB 3B C0 A8 02 82 E..N.......;....
    // 000010 C0 A8 02 FF 00 89 00 89 | 00 3A AC 6A 83 BD 01 10 .........:.j....
    // 000020 00 01 00 00 00 00 00 00 | 20 45 43 46 46 45 49 44 ........ ECFFEID
    // 000030 44 43 41 43 41 43 41 43 | 41 43 41 43 41 43 41 43 DCACACACACACACAC
    // 000040 41 43 41 43 41 43 41 43 | 41 00 00 20 00 01 ACACACACA.. ..


    нужно : 45 00 поменять на 41 44..... и заблокировать что бы он вместо 45 00 принимал 41 44 (тоесть то что я поставил....) короче что то типа программы WPE Pro .....
     
  2. zubr

    zubr Гость

    1. Лучше всего это делать на уровне NDIS-драйвера. Смотри в сторону WinPcap.
    2. Можно сделать на пользовательском уровне, для TCP/IP-соединения, перехватывать функции recv и (или) WSARecv.
     
  3. Codekid

    Codekid Гость

    Для: zubr
    Если тебе несложно напиши немного кода, который бы блокировал данные в пакете и заменял на то что я поставлю....
     
  4. zubr

    zubr Гость

    Для: Codekid
    Как ты себе это представляешь? Это не 3 строчки кода. Чтобы написать подобную прогу с нуля (не имея готовых шаблонов) надо затратить не один день. Да даже разобраться в готовом коде человеку, который это никогда не делал, понадобится не меньше времени.
    Я тебе указал направления куда копать, а дальше уж извини, сам. По WinPcap полно инфы в интернете, поищи в гугле, но необходимы знания C. По перехвату API-функций, есть неплохой ресурс www.wasm.ru с готовыми примерами на Delphi. Также есть хорошие книги на данную тему: Джеффри РИХТЕР "Создание эффективных WIN32-приложений", М. Руссинович и Д. Соломон "Внутренне устройство Windows".
     
  5. Barmutik

    Barmutik Гость

    Для: Codekid

    Также можно посоветовать посмотреть в сторону TDI драйвера ..в инете есть open source примеры .. но только правда на С++
     
  6. Codekid

    Codekid Гость

    мне нужна функция, которая бы меняла данные внутри пакета ...
     
  7. zubr

    zubr Гость

    Для: Codekid
    Да как ты не понимаешь, что для решения этой задачи одной функцией не обойдешься. Я тебе уже давал ссылки на инфу, возьми посмотри хотя бы как перехватываются API-функции или sample какого нибудь драйвера - тогда будешь примерно представлять, что надо делать.
     
  8. Barmutik

    Barmutik Гость

    Для: Codekid

    Перехватить одно а поменять и вернуть изменённый совсем другое...
     
  9. Codekid

    Codekid Гость

    Как правильно построить пакет?

    Например нужно отослать:
    000000 45 00 00 3D 22 F1 40 00 | 80 06 C5 C0 0A 00 01 09 E..=".@.........
    000010 D4 76 32 8A 04 8D 1A 0B | 9B CA 08 25 40 C1 AE 82 .v2.......%@...
    000020 50 18 FE FB 12 39 00 00 | 50 52 49 56 4D 53 47 20 P....9..PRIVMSG
    000030 23 6B 75 6E 74 73 65 76 | 6F 20 3A 3F 0A #kuntsevo :?.

    Код:
    //строим пакет
    BuildHeaders( SrcIP, SrcPort,
    DestIP, DestPort,
    ' ',
    Buf, Remote, iTotalSize );
     
  10. TigerCo

    TigerCo Гость

    Если ты хочешь посторить пакет типо того, что ест, то какой тут при этом IP и порт.
    По первому заголовку видно для какого MAC адреса пакет, и от какого он, а так же тип пакета. У тебя как тип - "0A 00", а это не IP пакет. В отоге, счачало разберись с тем, что у тебя передлается по сети, потом (как тебе уже советовали) перекопай исходник PCap, и третье, почитай про Ethernet, IP, TCP, UDP и прочие протоколы.
    И еще: если 4500.... это твой адрес, то заменив на 4144.... и отправив патек, ты врядле получишь ответ. Т.к. ответ пойдет на 4144.... Рекомендую еще почитать инфо про NAT и им подобные вещи.
    Удачи! :)
     
Загрузка...
Похожие Темы - Снифер
  1. zklient
    Ответов:
    0
    Просмотров:
    4.384
Статус темы:
Закрыта.

Поделиться этой страницей