Методы работы снифферов

Методы работы снифферов
Необходимо написать полноценный сниффер (в основном TCP). Погуглил, нашел много "воды", в основном про перехват входящего трафика. Т.е. мне бы просто в 2-х словах: как перехватывать трафик на конкретном порту, и не только входящий, но и исходящий. Просто скажите, где копать (среди winsock2 функций). P.S. Интересуюсь не в целях взлома, а в целях повышения навыков в сетевом программировании. И не нужно кидать ссылки на готовые снифферы.

  • >> Т. е. мне бы просто в 2-х словах: как перехватывать трафик на конкретном порту, и не только входящий, но и исходящий.
    для этого нужен промежуточный драйвер. . обычно снифферы используют готовый www.winpcap.org

    WinPcap consists of a driver, that extends the operating system to provide low-level network access, and a library that is used to easily access the low-level network layers. This library also contains the Windows version of the well known libpcap Unix API.

    ну и почитайте www.binarytides.com/packet-sniffer-code-in-c-using-winsock/

  • это ты, дружок, не адресу обратился.
  • начни с изучения самих пакетов, из чего они состоят,
    из каких составляющих и что каждая из них делает
    и за что отвечает.
    а так же протоколов их пересылки и получения.
    Иначе не поймёшь.
    А чтоб написать программу, уже потом ты выбираешь язык, на котором будешь
    создавать своё произведение.
  • В интернет все же полно примеров. В двух слова: ставим сетевую карту в режим прослушивания, запускаем бесконечный цикл приема пакетов, получаем пакет, и обрабатываем его (получаем адреса отправителя и получателя, их порты, протокол и т. п. )

    Ссылки:
    Визуал Студио С++: http://habrahabr.ru/post/164901/
    Билдер С++: http://nikipolskiy.ucoz.ru/blog/2010-09-07-3
    Линукс: http://www.opennet.ru/base/dev/traffic_analyze.txt.html