
22.07.2009, 01:19
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
2 bons, эм вот вариант для UNIX с использованием tcpdump в качестве сниффера
Код:
packet_filter.c:
#include <stdio.h>
#define BUFSIZE 1024
int main(int argc, char* argv[]) {
unsigned char buf[BUFSIZE];
int szread;
while ((szread = fread(buf,sizeof(unsigned char),BUFSIZE,stdin)) != NULL) {
// анализ потока траффика...
printf("read bytes %d",szread);
}
return 0;
}
комманда:
cc packet_filter.c -o packet_filter
tcpdump -t -p -n -i em0 -c 100 -w- / packet_filter
что означает запустить сниффер на интерфейсе em0 перехватить 100 пакетов с выводом в сыром виде в stdout ( - после w) ну и сразу же pipe-ом перенаправить вывод на stdin нашей программы фильтра, который собсвтвенно и будет анализировать траффик (ну мож лишнее параметры типа -t...)
Последний раз редактировалось Gar|k; 30.07.2009 в 14:53..
|
|
|