![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Привет всем, в который раз:)
Собственно суть. Ставлю я сетевую карту в PROMISK режим, создаю пакетный сокет. Принимаю ВСЕ(которые мне и которые не мне, но проходят через меня) пакеты. Пришел пакет. Без изменений он передается сокету. Насколько я понимаю, на сокет приходит копия пакета(или нет?). Что делает OC(unix/linux) с этим пакетом? Она его передает дальше, куда он шел? Если да, то можно это как-то убрать, чтобы я сам решал, пускать этот пакет дальше или нет? И можно как-то перехватывать адресованные мне пакеты и решать, пускать их к приложению или нет? Это сообщение отредактировал(а) konshyn - 22.10.2013, 11:03 -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Зачем? Копия. Если это проходящий мимо пакет, то ничего (кроме того, что ОС проверяет все подходящие сырые сокеты, во все суёт по копии). Если пакет предназначался этой ОС, то ОС обрабатывает этот пакет как положено (кроме того ОС проверяет все подходящие сырые сокеты, во все суёт по копии). -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
tzirechnoy |
|
||||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
Разумеется. Оригинал пакета находился в сетевом кабеле в виде кодированных импульсов, и напрямую приложэнию он недоступен (пока).
Да.
Чисто убрать -- попросить ОС ничего с ним не делать. Убрать ipv4, ipv6 адреса с этой сетевой карты и выключить её из бриджэй (мостов).
А, то есть фильтровать. Да, можно. В стандартном фильтре iptables (да и по-моему во всех остальных вариантах netfilter -- т.е. ebtables, и кто там есть ещё, но тут я дажэ примеров не видел) можно отправлять пакеты в спецыальную userspace очередь для проверки и изменения. В iptables это делается через -j QUEUE -- т.е. надо написать правило, которое будет ловить все нужные пакеты, и отправлять их через netlink в твою программу. Принимать сейчас вроде как принято через libnetfilter_queue (см. напр. https://home.regit.org/netfilter-en/using-n...etfilter_queue/. Раньшэ использовалась libipq, для неё должно быть чуть большэ документацыи находимо гуглем. Но в общем, учитывая размеры -- RTFS. Но есть и другой вариант: снять, как я говорил, все протоколы с реальной карточки (ipv4, ipv6), а то, что нужно отправить в ядро-- отправлять в созданный tap-адаптэр (они, собственно, для того и делались -- чтобы userspace мог имитировать приём ethernet-пакетов). Из минусов здесь, конечно, то, что отправлять надо будет сразу всё с карточки -- и arp, и просто воссозданными tcp-пакетами определённого порта никак не обойдёшься. Из плюсов -- то, что всё будет проходить через тебя, включая и arp и в общем всё. |
||||||||
|
|||||||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Чего-то я не понимаю, о чём речь. То есть карта ловит и те пакеты, которые не предназначаются данному узлу. Но сами пакеты как шли на пункт назначения (т.е. не на наш узел), так будут идти. ОС подслушанный пакет никуда не "передает дальше" (только разве что в подходящие сырые сокеты локального узла). Так же и не может повлиять на прохождение по сети пробегающих мимо (и подсмотренных) пакетов. Так о чём идёт речь? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Именно об этом. Просто хотел уточнить, правильно я думаю. И заодно узнать, как контролировать прИходящие и прОходящие пакеты, если это возможно. tzirechnoy подкинул мне много новых слов... поизучаю. спасибо -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Здесь ![]() А здесь никак ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
konshyn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Совсем никак? Я НЕ МОГУ СКАЗАТЬ СВОЕЙ ОС, ЧТО ЕЙ ДЕЛАТЬ С ПАКЕТАМИ, ПРЕДНАЗНАЧЕННЫМИ НЕ МНЕ? Есть такая атака ARP-spoofing. Понятно, что атакующий становится посередине между двумя узлами. Но он ведь может быть как бы фильтром, и решать, пропускать ему пакеты или нет. Должны же быть фильтры. А как работает брэндмауэр? Добавлено @ 12:46 Человек по середине
Добавлено @ 12:47 Т.е. другими словами, он перехватывает пакет и не пускает его дальше. Изменяет и уже отправляет от себя. Это сообщение отредактировал(а) konshyn - 23.10.2013, 12:48 -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
что понимается под контролировать? если предпринять какие-то действия на локальной машине - пожалуйста. если разрешить или запретить доставку адресату - невозможно, т.к. мы слушаем среду "сбоку", а не стоим в разрыв среды как маршрутизатор Добавлено через 2 минуты и 27 секунд
радио: эфир - та же среда. мы можем слушать эфир, можем вещать. запретить невозможно, только если ты не ретранслятор |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Если Ваша ОС выступает в качестве маршрутизатора, то она находится "по середине" для определённого набора пакетов, с которыми Вы можете что-то сделать. Если Вы переводите сетевую карточку "в PROMISK режим", то ловите и те пакеты, которые "не посередине". Вот с ними ничего не сможете сделать. Если же Вы говорите только о ситуации "по середине", то вопрос всё ещё актуален: Есть. И? Теперь речь пошла о хакерстве и перехвате не только IP трафика? К тому же в современном мире эту атаку незаметно провести не так просто, а зачастую и не возможно.
Большие буквы Вам не помогут. Сказать своей ОС, что ей делать с не её пакетами (если уж она их поймала) Вы можете, например, проанализировать их, но Вы не сможете повлиять на пакет, который уже просвистел по сети в конечную точку доставки. Итого. Зачем Вам "promiscuous mode"? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
||||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Открываем курсы начинающих хакеров.
Простой совет - купить фирму провайдер - и перехватывать на гейтвее все что душе угодно. До какого то времени прокатит, а потом найдут и прибьют. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
![]() В том-то и дело. Возьмём Если этим займётся не администратор сети, то поймают и наложут))) административное взыскание, какие бы благородные цели при этом не преследовались. Если же таким хакерством займётся сам сетевой администратор, то дело может кончится уголовщиной. Да, никак не могу понять, является ли хост ТС действующим маршрутизатором, и что такого нужно править в приходящих пакетах (а ля Роскомнадзор не пущать в сомнительные Интернет-места?). -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
konshyn |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Хм, оказывается он действительно не нужен. Мой комп будет выступать как маршрутизатор. Как много я уже узнал..и поменял в своем проекте.. А только решил один раз зайти на формум и спросить ![]() Но я доволен, спасибо ![]() Тогда другой вопрос, если мой комп - маршрутизатор, на него приходит пакет предназначенный не мне, я могу его не отправлять дальше, а изменить и потом только отправить? Как это сделать, если можно? Маршрутизатор такое может делать, он ведь изменяет IP-заголовок, некоторые поля по крайне мере, если нужно. Если бы... ![]() Не совсем. ![]() Пакет нужно разделить на несколько частей и его части отправить на маршрутизатор другой сети. А там его собрать и отправить адресату. А чтобы знать, пришедший пакет является "моим" и нужно ли его собирать, нужно хотя бы добавить идентификатор. Но там еще 5 полей. Чтобы собрать его правильно. Добавлено через 7 минут и 51 секунду
Хм.. я тут подумал и...
Именно ж в этом случае, чтобы на сокет ОСой передался не предназначенный моему компу пакет, нужно поставить его в PROMISC режим. Или я не прав? Вопрос:
остается актуальным. Тут подкинули идею, настроить IP таблицу, и с определенного IP адреса, с которого должны приходить пакеты, отправлять их на IP "0.0.0.0" или 127.0.0.1, на локальныый хост, в общем. Но как-то не хочется, можно ли просто запретить? Добавлено через 13 минут и 9 секунд
Тогда не понимаю, как на мой комп может прийти чужой пакет(не широковещательный), если я не в качестве маршрутизатора выступаю. У меня ведь есть IP tables, поэтому я как бы маршрутизатор, или нет? -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
||||||||||
|
|||||||||||
baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: нет Всего: 101 |
все ничего не путаете? че-то все в кучу. сетевая карта работает на канальном уровне и имеет дело с MAC адресами. именно по MAC определяется, предназначен ей пакет или нет. именно на этом уровне применяется/не применяется PROMISC режим. а на сетевом уровне у вас вообще может не быть IP (а какой-нить IPX например). если вы получили пакет, у него есть IP и т.д., значит пакет уже у вас, распакован до сетевого уровня, можете его обрабатывать. сетевая карта как антенна принимает все пакеты, передаваемые по среде. если пакет её не предназначен, и она не в PROMISC режиме, карта просто игнорирует пакет. понятно, что этот пакет принимают все сетевухи в домене коллизий (ну т.е. в локальной сети).
маршрутизатором является тот, кого другие таковым считают, т.е. шлют ему пакеты для дальнейшей доставки. насильно быть маршрутизатором нельзя, хотя если стоишь в разрыв сети можно осуществлять фильтрацию, NAT и прочие интересные вещи (типа вашего разбиения на части) прозрачно для всех. обычно того, кто стоит в разрыв, назначают маршрутизатором явно, это сильно упрощает дело. ну а если ты назначен явно, частенько уже не важно в разрыв или нет. если вы маршрутизатор (в любом упомянутом смысле), то при помощи IP tables как раз и можно делать всякие интересные штуки это все лишнее. почитайте про netfilter, все пути уже предусмотрены. Добавлено через 5 минут и 41 секунду иными словами, есть физическая и логическая топология. обычно, когда говорят о маршрутизации и т.п., имеют в виду логическую. часто она совпадает с физической, например, когда одновременно выполняется фильтрация (aka брандмауэр), и нужно физически разделить сети, но не обязательно. |
||||||
|
|||||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Комедия недопониманий
![]() Вопросы к ТС. Что есть маршрутизатор, и обязательно ли хост с тремя работающими интерфейсами является маршрутизатором?
Что есть этот самый "неразборчивый режим"? Зачем он нужен? Почему и без него работают маршрутизаторы? PS В данном случае Вашими пакетами являются все пакеты, у которых MAC-адрес совпадает с MAC-адресом Вашего узла-маршрутизатора - это канальный уровень, даже если конечный пункт доставки пакета (по протоколу IP - это сетевой уровень) не совпадает с Вашим узлом. Именно эти пакеты Вы можете перехватить и изменить. IP-тунелирование? Зачем делить пакет, MTU не позволяет? Простой файервол, поднятый на узле-маршрутизаторе, не поможет?
Вот поэтому-то и встречный вопрос: "что есть неразборчивый режим?" ![]() Это сообщение отредактировал(а) feodorv - 24.10.2013, 18:32 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |