URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7000
[ Назад ]

Исходное сообщение
"Сниффер убивающий пакеты"

Отправлено geragray , 04-Дек-07 12:36 
А можно ли написать сниффер (на raw sockets или libpcap), который будет не только слушать пакеты но и удалять их из сети?

Содержание

Сообщения в этом обсуждении
"Сниффер убивающий пакеты"
Отправлено idle , 04-Дек-07 12:47 
>А можно ли написать сниффер (на raw sockets или libpcap), который будет
>не только слушать пакеты но и удалять их из сети?

Куда удалять? ))
Это будет называться фаервол.


"Сниффер убивающий пакеты"
Отправлено geragray , 04-Дек-07 13:02 
>>А можно ли написать сниффер (на raw sockets или libpcap), который будет
>>не только слушать пакеты но и удалять их из сети?
>Куда удалять? ))
>Это будет называться фаервол.

Ну точнее не давать ядру обратать прослушанный пакет. Я пишу своего рода смесь прокси и впн. Мое приложение слушает все входящие пакеты на одном интерфейсе и перправляет их на другой. В кратце схемы выглядит так:

клиент1 - сервер/мое приложение - клиент2

Например клиент1 сможет пинговать клиент2 не видя приложения вообще. Проблемма в том что прослушанные пакеты все рано будут обработаны ядром на сервере - те клиент может получит обратьно совешенно ненужную информацию типа АСК. Пробовал сделать сниффер на iptables/libipq , но с ними невозможно прослушивать DHCP сообщения. А raw сокет сниффер не может ничего говорить ядру после получения пакета. Проблемма в общем.



"Сниффер убивающий пакеты"
Отправлено int_0dh , 05-Дек-07 13:19 
>[оверквотинг удален]
>так:
>
>клиент1 - сервер/мое приложение - клиент2
>
>Например клиент1 сможет пинговать клиент2 не видя приложения вообще. Проблемма в том
>что прослушанные пакеты все рано будут обработаны ядром на сервере -
>те клиент может получит обратьно совешенно ненужную информацию типа АСК. Пробовал
>сделать сниффер на iptables/libipq , но с ними невозможно прослушивать DHCP
>сообщения. А raw сокет сниффер не может ничего говорить ядру после
>получения пакета. Проблемма в общем.

из юзерспейса никак нельзя.
можно написать простейший модуль ядра который это будет делать (в случае Linux/BSD) - за инфой в гугл.


"Сниффер убивающий пакеты"
Отправлено tx2 , 10-Дек-07 07:52 
попробуйте посмотреть в сторону Divert-сокетов...
в частности, например, вот сюда:
http://rus-linux.net/MyLDP/MINI-HOWTO-ru/Divert-Sockets-mini...

"Сниффер убивающий пакеты"
Отправлено Nuclearcat , 15-Дек-07 23:38 
>попробуйте посмотреть в сторону Divert-сокетов...
>в частности, например, вот сюда:
>http://rus-linux.net/MyLDP/MINI-HOWTO-ru/Divert-Sockets-mini...

Можно еще сделать через iptables + приложение (ULOG)