Как-то LinuxJournal опубликовал небольшую статью Victor Castro по написанию собственного фаервола на основе Netfilter – http://www.linuxjournal.com/article/7184 Это, безусловно, ценная и полезная статья, но что можно сделать с приведённым примером? Вы решили писать собственный фаервол? Прекрасно, значит моя статья не для вас. А я хотел бы помочь тем, кто желает лишь дополнить функциональность имеющегося в Linux фаервола iptables. Тем, кто хочет написать собственные дополнения для него, если уже имеющаяся функциональность модулей iptables по какой-либо причине не устраивает. Для примера я подробно рассмотрю процесс написания модуля для ipv4, который будет реагировать на поле ID в заголовке IP-пакета. Модуль будет носить исключительно демонстрационный характер и будет реагировать тогда, когда последняя цифра в ID пакета будет соответствовать заданному параметру. Попросту говоря, мы возьмём остаток от деления ID нацело на 10 и если он будет равен параметру, модуль посчитает, что пакет соответствует критерию.
написание модуля для iptables на C
Как-то LinuxJournal опубликовал небольшую статью Victor Castro по написанию собственного фаервола на основе Netfilter – http://www.linuxjournal.com/article/7184 Это, безусловно, ценная и полезная статья, но что можно сделать с приведённым примером? Вы решили писать собственный фаервол? Прекрасно, значит моя статья не для вас. А я хотел бы помочь тем, кто желает лишь дополнить функциональность имеющегося в Linux фаервола iptables. Тем, кто хочет написать собственные дополнения для него, если уже имеющаяся функциональность модулей iptables по какой-либо причине не устраивает. Для примера я подробно рассмотрю процесс написания модуля для ipv4, который будет реагировать на поле ID в заголовке IP-пакета. Модуль будет носить исключительно демонстрационный характер и будет реагировать тогда, когда последняя цифра в ID пакета будет соответствовать заданному параметру. Попросту говоря, мы возьмём остаток от деления ID нацело на 10 и если он будет равен параметру, модуль посчитает, что пакет соответствует критерию.
далее по ссылке
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0