Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
00000030 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
00000040 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
00000050 00 00 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00
Первые 20 байт – это заголовок пакета. По смещению 0x0C находятся IP-адреса источника и получателя – DF DF 01 0A (223.223.1.10) и DF DF 01 03 (223.223.1.3). Поле данных IP-пакета обнулено.
Теперь изменим условие задачи – будем перехватывать и блокировать пакеты, исходящие с локального хоста. Для этого переключим ловушку в точку LOCAL_OUT. В структуре our_ops в поле hooknum занесем значение NF_IP_LOCAL_OUT, т.е. структура примет вид:
static struct nf_hook_ops our_ops = {
{NULL,NULL},
our_hook,
PF_INET,
NF_IP_LOCAL_OUT,
NF_IP_PRI_FILTER-1
};
Перекомпилируем и загружаем модуль, запускаем пользовательский процесс и удаленному хосту отправляем три ICMP-пакета:
ping -c3 223.223.1.10
Результат работы команды ping:
PING 223.223.1.10 (223.223.1.10): 56 data bytes
Indev - <NULL>
Outdev - eth0
ping: sendto: Operation not permitted
ping: wrote 223.223.1.10 64 chars, ret=-1
64 bytes from 223.223.1.10: icmp_seq=1 ttl=225 time=0,9 ms
64 bytes from 223.223.1.10: icmp_seq=1 ttl=225 time=0,4 ms
--- 223.223.1.10 ping statistics ---
3 packets transmitted, 2 packet received, 33% packet loss
Первый пакет в сеть не попал – был заблокирован модулем. Следующие два прошли беспрепятственно.
Таким образом, при помощи NETFILTER мы получили возможность воздействовать на процесс прохождения пакетов по стеку IPv4-протокола, перехватывать их, блокировать, изменять их содержание. Это может оказаться полезным, если вы решите разработать собственный модуль фильтрации сетевого трафика, учета статистики трафика, шифрования IP-пакетов и т. д.