Есть задача, написать приложение с функционалом, схожим с TcpView. Т.е. видеть открытые соединения по всем протоколам, порты, вести учет трафика (вх\исх) по каждому соединению. Можно будет обойтись user-mode функциями winsock, или по-хорошему нужно будет писать драйвер-фильтр? Кто сталкивался с подобными задачами, подскажите, собираю информацию..
Re: TcpView (sysinternals), Мониторинг сети от AVP
Здравствуйте, Timonn24, Вы писали:
T>Можно будет обойтись user-mode функциями winsock, или по-хорошему нужно будет писать драйвер-фильтр? Кто сталкивался с подобными задачами, подскажите, собираю информацию..
По хорошему — писать драйвер-фильтр. Я бы предпочел TDI.
С уважением,
Евгений
Re[2]: TcpView (sysinternals), Мониторинг сети от AVP
Здравствуйте, -prus-, Вы писали:
P>Здравствуйте, Timonn24, Вы писали:
T>>Можно будет обойтись user-mode функциями winsock, или по-хорошему нужно будет писать драйвер-фильтр? Кто сталкивался с подобными задачами, подскажите, собираю информацию..
P>По хорошему — писать драйвер-фильтр. Я бы предпочел TDI.
Не занимался ранее kernel-mode, ну что ж интереснее будет. Вот здесь пишут что "TDI устарело"..
Re[3]: TcpView (sysinternals), Мониторинг сети от AVP
Здравствуйте, Timonn24, Вы писали:
T>Есть задача, написать приложение с функционалом, схожим с TcpView. Т.е. видеть открытые соединения по всем протоколам, порты, вести учет трафика (вх\исх) по каждому соединению. Можно будет обойтись user-mode функциями winsock, или по-хорошему нужно будет писать драйвер-фильтр? Кто сталкивался с подобными задачами, подскажите, собираю информацию..
О протоколах какого уровня (OSI) идет речь ?
Если имеется в виду сетевой уровень и такие протоколы, как ARP, тогда выход один — NDIS-драйвер.
На уровнях выше этих протоколов Вы просто не увидите, не зависимо от технологий.
На транспортном и прикладном уровне (TCP/UDP + HTTP/SMTP/POP3/FTP/...) выбор побогаче.
Из относительно простых решений — TDI-фильтр. Это будет работать на всех версиях Windows,
от XP до Windows 8 (Dev Preview). Microsoft все никак не вычистит эту "нечисть" из
системы, потому что на TDI завязано огромное количество существующего софта.
Если поддержка XP не требуется, можно попробовать WFP (Windows Filtering Platform).
Еще вариант — написать своего поставщика сети по технологии LSP (Layered Service Providers).
Последнее — чисто юзермодный вариант.
Re[2]: TcpView (sysinternals), Мониторинг сети от AVP
Здравствуйте, okman, Вы писали:
O>Здравствуйте, Timonn24, Вы писали:
T>>Есть задача, написать приложение с функционалом, схожим с TcpView. Т.е. видеть открытые соединения по всем протоколам, порты, вести учет трафика (вх\исх) по каждому соединению. Можно будет обойтись user-mode функциями winsock, или по-хорошему нужно будет писать драйвер-фильтр? Кто сталкивался с подобными задачами, подскажите, собираю информацию..
O>О протоколах какого уровня (OSI) идет речь ? O>Если имеется в виду сетевой уровень и такие протоколы, как ARP, тогда выход один — NDIS-драйвер. O>На уровнях выше этих протоколов Вы просто не увидите, не зависимо от технологий.
O>На транспортном и прикладном уровне (TCP/UDP + HTTP/SMTP/POP3/FTP/...) выбор побогаче. O>Из относительно простых решений — TDI-фильтр. Это будет работать на всех версиях Windows, O>от XP до Windows 8 (Dev Preview). Microsoft все никак не вычистит эту "нечисть" из O>системы, потому что на TDI завязано огромное количество существующего софта. O>Если поддержка XP не требуется, можно попробовать WFP (Windows Filtering Platform). O>Еще вариант — написать своего поставщика сети по технологии LSP (Layered Service Providers). O>Последнее — чисто юзермодный вариант.
TCP\UDP. Спасибо за инфу.
Re: TcpView (sysinternals), Мониторинг сети от AVP