|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Вопрос про Firewall |
|
Вопрос про Firewall
|
Новый участник Сообщения: 39 |
Вот какая штука. Решил я написать простой пример firewall, и тут же столкнулся с главной проблемой. А как же я буду улавливать трафик. Скажем я хочу следить за трафиком на 139 порту (NetBios). Но если я попытаюсь создать на нем сокет, то возникнет ошибка, поскольку этот порт уже занят другим сервисом. Но как-то ведь народ делает firewall'ы. Может кто знает?
|
|
Отправлено: 19:25, 03-07-2004 |
Пользователь Сообщения: 95
|
Профиль | Отправить PM | Цитировать Вот статейка,хотя она про сниферы. Но,имхо,там принцип один и тот же.
|
------- Отправлено: 21:22, 03-07-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Надыбал (давненько уже) в сети. Очень простенький пример. Под линукс, но принцип тот же. Вообще подобных "сорсов" в сети - море.
// cниффер пишет на stdout всё, что захватывает #include <sys/socket.h> #include <netinet/in.h> #include <net/if.h> #include <unistd.h> #include <signal.h> #include <stdio.h> #include <string.h> #include <sys/ioctl.h> static volatile int done; void handler(int signum) { done = 1; } int main(int argc, char **argv) { char buff[0x10000]; struct ifreq ifr; int s, n; if (argc < 2) { fprintf(stderr, "Usage: %s <interface>\n", argv[0]); return 1; } s = socket(PF_INET, SOCK_PACKET, htons(0x0003)); if (s == -1) { perror("socket"); return 1; } strcpy(ifr.ifr_name, argv[1]); if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0) { perror("ioctl(SIOCGIFFLAGS)"); return 1; } ifr.ifr_flags |= IFF_PROMISC; // установка // режима перехвата // на сетевой карте. if (ioctl(s, SIOCSIFFLAGS, &ifr) < 0) { perror("ioctl(SIOCGIFFLAGS)"); return 1; } signal(SIGINT, handler); puts("starting capturing:\n"); fflush(stdout); for (done = 0; !done; ) { n = read(s, buff, sizeof(buff)); //cчитываем //траффик в буфер if ( n!=-1 ) write(STDOUT_FILENO, buff, n); } ifr.ifr_flags &= ~IFF_PROMISC; if (ioctl(s, SIOCSIFFLAGS, &ifr) < 0) { perror("ioctl(SIOCGIFFLAGS)"); return 1; } close(s); printf("Finished\n"); return 0; } |
Отправлено: 10:44, 05-07-2004 | #3 |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать hasherfrog
Спасибо. Гляну. На порту 0х03 уже находится сокет, будет ли работать? Хотя ладно сам проверю. BrutalBit А чем они отличаются? |
Отправлено: 18:21, 05-07-2004 | #4 |
Пользователь Сообщения: 95
|
Профиль | Отправить PM | Цитировать Сниффер - это такая прога, которая перехватывает весь траффик.Они используются для перехвата всякой инфы(паролей) и для диагностики сети.
Firewall - это программа фильтрующая все вхлдящие/исходящие данные, и пропускающая только разрешенные.И там и там нужно перехватывать траффик,но тока firewall должен его еще и фильтровать. |
|
------- Отправлено: 22:47, 05-07-2004 | #5 |
Новый участник Сообщения: 39
|
Профиль | Отправить PM | Цитировать Хорошо, но это все эти примеры для Linux. Мне они конечно и нужны для этой ОС. Но... как же быть с windows?
|
Отправлено: 19:10, 12-07-2004 | #6 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать VBMUSTDIE
Практически всё точно так же. Единственное, на что стоит обратить нимание: версия winsock должная быть 2-й. В ранней версии плохо расписана работа с "сырыми" сокетами. Есть, конечно, ещё некоторые ньюансы. По поводу файерволл - проверьте почту. Добавлено: VBMUSTDIE Ваш адрес в e-mail, очевидно, некорректный. Письма возвращаются. |
Отправлено: 09:43, 13-07-2004 | #7 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать hasherfrog
а если пример firewall-а, то можно не только для VBMUSTDIE ![]() |
Отправлено: 22:15, 13-07-2004 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] карта 1600 про вопрос про S-Video | GLOVER | Видеокарты | 2 | 01-12-2009 05:48 | |
вопрос про память | xxxPORNOMANxxx | Материнские платы и память | 9 | 24-05-2009 16:49 | |
Вопрос про IP | _Snake_ | Хочу все знать | 12 | 16-10-2006 11:03 | |
Вопрос про значки | kop4enyi | Автоматическая установка Windows 2000/XP/2003 | 2 | 11-10-2006 06:07 | |
Вопрос про RAID 0 | arahnid | Microsoft Windows 2000/XP | 7 | 21-07-2005 10:32 |
|