[win]Как перехватить все сетевые пакеты

agaaaa

Много юзеров за компом - надо смотреть кто куда лазает(хотябы ip и порты). Хочу написать руками.
Если подскажете ещё и как блочить...

Werdna

операционка какая?
linux -- man iptables
freebsd -- man ipfw
мастдай -- не знаю

mira-bella

libpcap, например
есть и под винду и под юниксы

agaaaa

А нативным API?

Dasar

нативного api - нет, как такого, вместо него лучше использовать libpcap и ему подобных

agaaaa

ггг а через что тогда работает ваша библиотека?

Dasar

скорее всего через установку своего драйвера

otets-mihail

через драйвер

kokoc88

А RAW_SOCKET почему не подходит?

evgen5555

Я не знаю, с чем вообще можно столкнуться при написании хуков, но я бы пропатчил WinSock-овские DLL-ки на предмет журналирования (исходники ws2_32.dll есть по-моему в сети)...
http://www.codeproject.com/system/hooksys.asp

janlynn

вроде был ethereal под вин32

psihodog

эзерил использует libpcap

psm-home

Плохое решение. Как минимум потому, что есть проги, которые работают в обход WinSock. И потом на уровне Winsock уже нет никаких "сетевых пакетов".

evgen5555



есть проги, которые работают в обход WinSock
Просто не терпится узнать, какие же?

psihodog

linux

evgen5555

"нативное API" линуксу не присуще.

psm-home

Гы. Я понял уже, что облажался. Через user mode WinSock не ходит только SMB, PPTP и HTTP трафик веб сервера IIS (той его версии, где уже есть http.sys). Возможно найдуться также какие-нибудь трояны, которые обходят user mode WinSock работая через вызовы TDI. В общем, фильтравать в user mode можно, но все так не отфильтруешь. И ставить hook'и на Winsock DLL как-то некошерно, для таких делов есть официально рекомендованный способ - Winsock Layered Service Provider.
Оставить комментарий
Имя или ник:
Комментарий: