где ловить пакеты?
От: skinny  
Дата: 27.11.04 15:54
Оценка:
То что использовать RAW сокеты для фильтрации гиблое дело я понял, спасибо, и успел на практике уббедится . Но тогда возникает вопрос: где разместить приложение чтобы эти пакеты ловить? В принципе я догадываюсь, что сразу после сетевых драйверов, но все же есть надежда, что можно хотя бы чуть=чуть повыше. Тут же возникает и вопрос о том кому драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде? какой службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их не люблю отлаживать , BSOD иногда в кошмарах снится. Може кто даст ссылочку на кусочек кода (работающего) или хотяб основную линию работы наметит. thx заранее
Re: где ловить пакеты?
От: Рома Мик Россия http://romamik.com
Дата: 27.11.04 18:12
Оценка:
Здравствуйте, skinny, Вы писали:

S>То что использовать RAW сокеты для фильтрации гиблое дело я понял, спасибо, и успел на практике уббедится . Но тогда возникает вопрос: где разместить приложение чтобы эти пакеты ловить? В принципе я догадываюсь, что сразу после сетевых драйверов, но все же есть надежда, что можно хотя бы чуть=чуть повыше. Тут же возникает и вопрос о том кому драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде? какой службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их не люблю отлаживать , BSOD иногда в кошмарах снится. Може кто даст ссылочку на кусочек кода (работающего) или хотяб основную линию работы наметит. thx заранее

AFAIK обычно делают перехват вызовов send, recv, connect и т.д. методами, изложенными например у Рихтера.
Re: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 28.11.04 08:54
Оценка:
Здравствуйте, skinny, Вы писали:

S>То что использовать RAW сокеты для фильтрации гиблое дело я понял, спасибо, и успел на практике уббедится . Но тогда возникает вопрос: где разместить приложение чтобы эти пакеты ловить? В принципе я догадываюсь, что сразу после сетевых драйверов, но все же есть надежда, что можно хотя бы чуть=чуть повыше. Тут же возникает и вопрос о том кому драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде?

Хм..inetd вообще-то не драйвер..

S> какой службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их не люблю отлаживать , BSOD иногда в кошмарах снится. Може кто даст ссылочку на кусочек кода (работающего) или хотяб основную линию работы наметит. thx заранее

Почитайте тему: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP
Автор: kIlka
Дата: 16.10.04
, там много интересных рассуждений, что для чего, где и как..

Нет ничего невозможного..
Re[2]: где ловить пакеты?
От: skinny  
Дата: 28.11.04 11:46
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, skinny, Вы писали:


S>>То что использовать RAW сокеты для фильтрации гиблое дело я понял, спасибо, и успел на практике уббедится . Но тогда возникает вопрос: где разместить приложение чтобы эти пакеты ловить? В принципе я догадываюсь, что сразу после сетевых драйверов, но все же есть надежда, что можно хотя бы чуть=чуть повыше. Тут же возникает и вопрос о том кому драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде?

B>Хм..inetd вообще-то не драйвер..

S>> какой службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их не люблю отлаживать , BSOD иногда в кошмарах снится. Може кто даст ссылочку на кусочек кода (работающего) или хотяб основную линию работы наметит. thx заранее

B>Почитайте тему: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP
Автор: kIlka
Дата: 16.10.04
, там много интересных рассуждений, что для чего, где и как..


thx я ваще-то в курсе что inetd не драйвер. Просто интересно, он ведь от сетевых драйверов пакеты получает?
Re[2]: где ловить пакеты?
От: skinny  
Дата: 28.11.04 12:30
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, skinny, Вы писали:


S>>То что использовать RAW сокеты для фильтрации гиблое дело я понял, спасибо, и успел на практике уббедится . Но тогда возникает вопрос: где разместить приложение чтобы эти пакеты ловить? В принципе я догадываюсь, что сразу после сетевых драйверов, но все же есть надежда, что можно хотя бы чуть=чуть повыше. Тут же возникает и вопрос о том кому драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде?

B>Хм..inetd вообще-то не драйвер..

S>> какой службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их не люблю отлаживать , BSOD иногда в кошмарах снится. Може кто даст ссылочку на кусочек кода (работающего) или хотяб основную линию работы наметит. thx заранее

B>Почитайте тему: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP
Автор: kIlka
Дата: 16.10.04
, там много интересных рассуждений, что для чего, где и как..



спасибо за ссылочку, но к сожалению ничего утешающего для себя я там не обнаружил, похоже опять все закончится режимом ядра . Единственная надежда моя это pcap, можнт хоть он поможет?
Re[3]: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 28.11.04 18:50
Оценка:
Здравствуйте, skinny, Вы писали:

B>>Почитайте тему: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP
Автор: kIlka
Дата: 16.10.04
, там много интересных рассуждений, что для чего, где и как..

S>спасибо за ссылочку, но к сожалению ничего утешающего для себя я там не обнаружил, похоже опять все закончится режимом ядра . Единственная надежда моя это pcap, можнт хоть он поможет?
Ловить пакеты он может, но с фильтрацией не поможет.

Нет ничего невозможного..
Re[3]: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 28.11.04 19:05
Оценка:
Здравствуйте, skinny, Вы писали:

S>thx я ваще-то в курсе что inetd не драйвер. Просто интересно, он ведь от сетевых драйверов пакеты получает?


процитирую комментарий в её исходниках:
/*
 * Inetd - Internet super-server
 *
 * This program invokes all internet services as needed.  Connection-oriented
 * services are invoked each time a connection is made, by creating a process.
 * This process is passed the connection as file descriptor 0 and is expected
 * to do a getpeername to find out the source host and port...
 */

принцип его работы такой: он слушает порты для необходимых сервисов, и когда туда кто-то обращается, он запускает программу, отвечающую за работу этого сервиса и передаёт ей дескрипторы ввода/вывода. Для работы с ним программа должна быть написана соответсвующим образом, т.е. не каждая программа может работать через inetd. А сам он работает обычным образом, через сокеты. Но в UNIX'ах сокеты более функциональны, чем в виндах. Например, в BSD netgraph сокеты могут работать в режиме ядра и с их помощью можно делать оочень много..

Нет ничего невозможного..
Re[4]: где ловить пакеты?
От: fefelov Россия  
Дата: 30.11.04 08:01
Оценка:
S>>Единственная надежда моя это pcap, можнт хоть он поможет?
B>Ловить пакеты он может, но с фильтрацией не поможет.
Напрасно вы так говорите. Вот цитата:
Libpcap offers rich support for Berkeley Packet Filter (BPF) filter programs.
BPF packet filtering offers a powerful language for specifying packet filters
across libpcap descriptors.
Подробности здесь — http://www.tcpdump.org/pcap3_man.html
Re[5]: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 30.11.04 08:18
Оценка:
Здравствуйте, fefelov, Вы писали:

S>>>Единственная надежда моя это pcap, можнт хоть он поможет?

B>>Ловить пакеты он может, но с фильтрацией не поможет.
F>Напрасно вы так говорите. Вот цитата:
F>Libpcap offers rich support for Berkeley Packet Filter (BPF) filter programs.
F>BPF packet filtering offers a powerful language for specifying packet filters
F>across libpcap descriptors.

Если бы вы внмательнее прочитали, то поняли бы что BPF не имее никакого отношения к поставленному вопросу. BPF используется для составления "фильтров" по которым происходит захват пакетов. Т.е. другими словами pcap будет захватывать только те пакеты, которые соответсвуют "маске", заданной в BPF программе. Фильтровать траффик для приложений, работающих на верхнем уровне PCAP не сможет.

Нет ничего невозможного..
Re[6]: где ловить пакеты?
От: Аноним  
Дата: 30.11.04 08:48
Оценка:
B>Если бы вы внмательнее прочитали
[o]mea culpa[/o]
Re[7]: где ловить пакеты?
От: Аноним  
Дата: 30.11.04 08:53
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>Если бы вы внмательнее прочитали

А>[o]mea culpa![/o]
Re[6]: где ловить пакеты?
От: fefelov Россия  
Дата: 30.11.04 09:01
Оценка:
Вот у меня сегодня глюки!

B>Если бы вы внмательнее прочитали

Моя вина.
Re[4]: где ловить пакеты?
От: skinny  
Дата: 02.12.04 20:20
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, skinny, Вы писали:


B>>>Почитайте тему: Перехват EMAIL и анализ POP3 протокола на уровне TCP/IP
Автор: kIlka
Дата: 16.10.04
, там много интересных рассуждений, что для чего, где и как..

S>>спасибо за ссылочку, но к сожалению ничего утешающего для себя я там не обнаружил, похоже опять все закончится режимом ядра . Единственная надежда моя это pcap, можнт хоть он поможет?
B>Ловить пакеты он может, но с фильтрацией не поможет.
ловить пакеты — в смысле просто прочитать? или удалить, задержать и т.п. тоже можно? мне в общем то не обязательно их фильтровать при помощи pcap, фильтрацию я и сам напишу (или я вас не так понял?), да, и по поводу вашего ответа по этой же теме — фильтровать траффик для приложений верхнего уровня pcap не сможет — получается если наверху кто-то работает на каком-то порту то по этому порту pcap пакеты уже не перехватит? (или я опять туплю? и вообще, pcap с чем работает? — с кадрами eth, IP пакетами или TCP\UDP фреймами)
Re[5]: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 03.12.04 05:23
Оценка:
Здравствуйте, skinny, Вы писали:

B>>Ловить пакеты он может, но с фильтрацией не поможет.

S>ловить пакеты — в смысле просто прочитать?
Именно.

S>или удалить, задержать и т.п. тоже можно?

Нельзя.

S>мне в общем то не обязательно их фильтровать при помощи pcap, фильтрацию я и сам напишу (или я вас не так понял?),

Ваша фильтрация будет гораздо медленнее фильтра BPF.

S>да, и по поводу вашего ответа по этой же теме — фильтровать траффик для приложений верхнего уровня pcap не сможет — получается если наверху кто-то работает на каком-то порту то по этому порту pcap пакеты уже не перехватит? (или я опять туплю? и вообще, pcap с чем работает? — с кадрами eth, IP пакетами или TCP\UDP фреймами)

Видимо опять..
Он работает с Ethernet кадрами.

Нет ничего невозможного..
Re[6]: где ловить пакеты?
От: skinny  
Дата: 08.12.04 12:16
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, skinny, Вы писали:


B>>>Ловить пакеты он может, но с фильтрацией не поможет.

S>>ловить пакеты — в смысле просто прочитать?
B>Именно.

S>>или удалить, задержать и т.п. тоже можно?

B>Нельзя.

S>>мне в общем то не обязательно их фильтровать при помощи pcap, фильтрацию я и сам напишу (или я вас не так понял?),

B>Ваша фильтрация будет гораздо медленнее фильтра BPF.

S>>да, и по поводу вашего ответа по этой же теме — фильтровать траффик для приложений верхнего уровня pcap не сможет — получается если наверху кто-то работает на каком-то порту то по этому порту pcap пакеты уже не перехватит? (или я опять туплю? и вообще, pcap с чем работает? — с кадрами eth, IP пакетами или TCP\UDP фреймами)

B>Видимо опять..
B>Он работает с Ethernet кадрами.

aAaaAaA все пропало! ето мене видимо придется теперь send и recv перехватывать?
Re: где ловить пакеты?
От: Maxim S. Shatskih Россия  
Дата: 08.12.04 13:54
Оценка:
>драйверы сетевухи эти пакеты отдают. В Linuxe вроде понятно — inetd. А в винде? какой
службе? Без работы в режиме ядра наверное не обойтись? — очень не хотелось бы, чето я их

Да. Под виндами правильное место — NDIS IM драйвер.
Занимайтесь LoveCraftом, а не WarCraftом!
Re[2]: где ловить пакеты?
От: Michael Chelnokov Украина  
Дата: 08.12.04 16:06
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

MSS>Да. Под виндами правильное место — NDIS IM драйвер.


Раз уж пошла такая пьянка...

Не подскажете, где под Windows место примочке, которая должна уметь ловить Ethernet-кадры и отправлять их дальше, подменяя MAC-адрес назначения?
Или для такой задачи лучше/удобнее/практичнее использовать другую операционную систему?
Re[3]: где ловить пакеты?
От: butcher Россия http://bu7cher.blogspot.com
Дата: 09.12.04 05:03
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

MSS>>Да. Под виндами правильное место — NDIS IM драйвер.


MC>Не подскажете, где под Windows место примочке, которая должна уметь ловить Ethernet-кадры и отправлять их дальше, подменяя MAC-адрес назначения?

MC>Или для такой задачи лучше/удобнее/практичнее использовать другую операционную систему?

Там же

Нет ничего невозможного..
Re[4]: где ловить пакеты?
От: skinny  
Дата: 11.12.04 20:12
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, Michael Chelnokov, Вы писали:


MSS>>>Да. Под виндами правильное место — NDIS IM драйвер.


MC>>Не подскажете, где под Windows место примочке, которая должна уметь ловить Ethernet-кадры и отправлять их дальше, подменяя MAC-адрес назначения?

MC>>Или для такой задачи лучше/удобнее/практичнее использовать другую операционную систему?

B>Там же


а в линухе то где ?
Re[5]: где ловить пакеты?
От: majordomo  
Дата: 17.12.04 20:51
Оценка:
Здравствуйте, skinny, Вы писали:

S>Здравствуйте, butcher, Вы писали:


B>>Здравствуйте, Michael Chelnokov, Вы писали:


MSS>>>>Да. Под виндами правильное место — NDIS IM драйвер.


MC>>>Не подскажете, где под Windows место примочке, которая должна уметь ловить Ethernet-кадры и отправлять их дальше, подменяя MAC-адрес назначения?

MC>>>Или для такой задачи лучше/удобнее/практичнее использовать другую операционную систему?

B>>Там же


S>а в линухе то где ?


libpcap
в следующем году мы пофиксим это патчем (c)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.