Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

    if(write(f,buf,strlen(buf)) < 0) return (-1);

    close(f);

    return (0);

}

Функция fill_log

Эта функция, кроме дескриптора log-файла, принимает IP-адрес пакета, который был заблокирован (u_long addr), и идентификатор выполненного действия (int action). Функция очень простая, и необходимости в комментариях я не вижу.

int fill_log(int f, int action, u_long addr)

{

    char buf[BSIZE];

    time_t fill_t;

 

    bzero(buf,BSIZE);

    time(&fill_t);

 

    if(action==0) {

           sprintf(buf,"Packet from %s was rejected at %s",inet_ntoa(addr), ctime(&fill_t));

           if (write(f,buf,strlen(buf)) < 0)

                 return (-1);

           return (0);

    }

}

Makefile

Для сборки исполняемого модуля создадим Makefile следующего содержания:

CC = gcc

name = daemon

DAEMON = sfc.o sf_daemon.o sf_log.o

 

$(name): $(DAEMON)

    $(CC) -g -o $(name) $(DAEMON)

sfc.o: sfc.c

    $(CC) -c sfc.c

sf_daemon.o: sf_daemon.c

    $(CC) -c sf_daemon.c

sf_log.o: sf_log.c

    $(CC) -c sf_log.c

 

clean:

    rm -f *.o

Здесь все должно быть вам знакомо. Ключ «-g» при успешной сборке можно будет заменить на «-s».

Запуск и остановка выполнения процесса-демона

После сборки в текущем каталоге появится исполняемый файл daemon. Для его запуска наберите команду:

./daemon start

Перед запуском процесса-демона необходимо загрузить модуль ядра.

После запуска демона в текущем каталоге появится файл daemon.pid. Не удаляйте этот файл! В нем хранится идентификатор процесса-демона для возможности его корректной остановки. Для остановки выполнения процесса-демона введите команду:

./daemon stop

Файл daemon.pid автоматически удаляется.

Информация о времени запуска и останова процесса-демона, а также о заблокированных пакетах будет зафиксирована в файле /var/log/daemon.

При подготовке статьи были использованы исходные тексты и документация брандмауэра SINUS (http://www.ifi.unizh.ch).

 


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100