Редактирование: UNИX, осень 2008, 05 лекция (от 29 октября)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 39 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
- | = Лекция = | ||
- | == Вступление == | ||
У нас сегодня промежуточный день. | У нас сегодня промежуточный день. | ||
СПД, она же интерфейсный уровень. | СПД, она же интерфейсный уровень. | ||
Строка 24: | Строка 22: | ||
MAC-адрес можно менять, отсюда отсутствие жесткой дисциплины. | MAC-адрес можно менять, отсюда отсутствие жесткой дисциплины. | ||
- | == Радио-Ethernet == | ||
Возьмем радио-Ethernet. | Возьмем радио-Ethernet. | ||
Мы имеем СПД, к которой можно подключиться в любой момент времени. | Мы имеем СПД, к которой можно подключиться в любой момент времени. | ||
Любой компьютер, умеющий передавать данные может передавать их в любой момент времени. | Любой компьютер, умеющий передавать данные может передавать их в любой момент времени. | ||
- | === Идентификация === | ||
На интерфейсном уровне, когда мы говорим о дисциплине передачи данных, должна включаться идентификация абонента. | На интерфейсном уровне, когда мы говорим о дисциплине передачи данных, должна включаться идентификация абонента. | ||
В случае радио-Ethernet это должна быть достаточно уверенная и обязательная идентификация. | В случае радио-Ethernet это должна быть достаточно уверенная и обязательная идентификация. | ||
Сейчас разговор не о Wi-Fi, а о переходе на неразграниченную СПД. | Сейчас разговор не о Wi-Fi, а о переходе на неразграниченную СПД. | ||
- | + | Первая задача --- жесткая идентификация абонента. | |
- | + | ||
Также есть задача идентификации СПД --- т.к. воздух один. | Также есть задача идентификации СПД --- т.к. воздух один. | ||
При развертывании рядом такой же СПД нужно, чтобы устройства это нормально поддерживали. | При развертывании рядом такой же СПД нужно, чтобы устройства это нормально поддерживали. | ||
Строка 41: | Строка 36: | ||
В случае радио есть идентифицированные и неидентифицированные абоненты. | В случае радио есть идентифицированные и неидентифицированные абоненты. | ||
Нужно не давать возможности неидентифицированному абоненту пользоваться услугами сети. | Нужно не давать возможности неидентифицированному абоненту пользоваться услугами сети. | ||
- | + | Вторая задача --- авторизация. | |
- | + | ||
- | + | ||
Должна быть процедура авторизации устройства, чтобы определить, что можно данному устройству. | Должна быть процедура авторизации устройства, чтобы определить, что можно данному устройству. | ||
Должна быть авторизационная информация, грубо говоря, логин-пароль. | Должна быть авторизационная информация, грубо говоря, логин-пароль. | ||
Абонент должен сказать что-то волшебное, вроде ``крокодилы летят на север''. | Абонент должен сказать что-то волшебное, вроде ``крокодилы летят на север''. | ||
Достаточно большой комплект всевозможной технической настройки, связанной с тем, что вакуум один на всех. | Достаточно большой комплект всевозможной технической настройки, связанной с тем, что вакуум один на всех. | ||
- | |||
- | === Настройка === | ||
Мы не затрагивали один тонкий вопрос --- радио одно на всех, мы разворачиваем рядом две точки доступа Wi-Fi. | Мы не затрагивали один тонкий вопрос --- радио одно на всех, мы разворачиваем рядом две точки доступа Wi-Fi. | ||
Как сделать так, чтобы они друг другу не мешали, не вещали на одной волне. | Как сделать так, чтобы они друг другу не мешали, не вещали на одной волне. | ||
Строка 57: | Строка 48: | ||
Auto не на уровне протокола. | Auto не на уровне протокола. | ||
- | + | Третья задача --- техническая поддержка настройки. | |
- | + | ||
В проводном случае штатная ситуация одна --- работающий провод. | В проводном случае штатная ситуация одна --- работающий провод. | ||
На радио волны затухают. | На радио волны затухают. | ||
Строка 71: | Строка 61: | ||
Мы имеет дело с ненадежной и негарантированной СПД. | Мы имеет дело с ненадежной и негарантированной СПД. | ||
- | === О домашних точках === | ||
У домашней точки радиус действия небольшой. | У домашней точки радиус действия небольшой. | ||
За двумя соседними углами можно разворачивать точку доступа на такой же частоте. | За двумя соседними углами можно разворачивать точку доступа на такой же частоте. | ||
Строка 87: | Строка 76: | ||
Вся эта дискуссия должна утвердить нас в одной мысли: все три описанные процедуры весьма значимы, когда мы в качестве СПД используем вакуум, обладающий свойством передачи э/м волн. | Вся эта дискуссия должна утвердить нас в одной мысли: все три описанные процедуры весьма значимы, когда мы в качестве СПД используем вакуум, обладающий свойством передачи э/м волн. | ||
- | == WiFi == | ||
Касательно Wi-Fi. | Касательно Wi-Fi. | ||
Структура вполне Ethernet'ная. | Структура вполне Ethernet'ная. | ||
- | === Инструменты === | ||
В Линуксе автоматически поднимается устройство, являющееся беспроводной сетью. | В Линуксе автоматически поднимается устройство, являющееся беспроводной сетью. | ||
Мы видим просто интерфейс с каким-то именем, обладающий схожими с обычным свойствами. | Мы видим просто интерфейс с каким-то именем, обладающий схожими с обычным свойствами. | ||
Также отдельно им можно управлять с помощью wireless tools (iwconfig, iwlist, iw\dots). | Также отдельно им можно управлять с помощью wireless tools (iwconfig, iwlist, iw\dots). | ||
У него есть дополнительные фичи, определяющие принадлежность к беспроводному интерфейсу. | У него есть дополнительные фичи, определяющие принадлежность к беспроводному интерфейсу. | ||
- | |||
- | === Сканирование === | ||
Можно запустить сканер, вылавливающий идентификационные пакеты, идущие от точки доступа. | Можно запустить сканер, вылавливающий идентификационные пакеты, идущие от точки доступа. | ||
В частности, будет прописан идентификатор. | В частности, будет прописан идентификатор. | ||
Строка 102: | Строка 87: | ||
У лектора бывает, что находится до 12 сетей. | У лектора бывает, что находится до 12 сетей. | ||
Такова обычная ситуация. | Такова обычная ситуация. | ||
- | |||
Сканирование --- специально написанный кусок кода, заглядывающий в каждый диапазон. | Сканирование --- специально написанный кусок кода, заглядывающий в каждый диапазон. | ||
Затем выбираем из списка сеть, чьи настройки мы знаем, настраиваемся на нее и работаем. | Затем выбираем из списка сеть, чьи настройки мы знаем, настраиваемся на нее и работаем. | ||
- | |||
- | === Безопасность === | ||
Что касается идентификации и авторизации, это вопрос отдельный. | Что касается идентификации и авторизации, это вопрос отдельный. | ||
Если речь идет о рассказывании пароля, неплохо его зашифровать. | Если речь идет о рассказывании пароля, неплохо его зашифровать. | ||
Строка 114: | Строка 96: | ||
Это уже задача авторизации. | Это уже задача авторизации. | ||
Если есть точка доступа, как сделать, чтобы доступ к ней имели не все? | Если есть точка доступа, как сделать, чтобы доступ к ней имели не все? | ||
- | |||
Решение номер 0: не обеспечивать авторизацию, а регулировать доступ к Интернету на более высоких уровнях. | Решение номер 0: не обеспечивать авторизацию, а регулировать доступ к Интернету на более высоких уровнях. | ||
Чем плохо? | Чем плохо? | ||
Мы не гарантированы от следующего злоупотребления: есть идентифицированный абонент, мы прикидываемся этим абонентом. | Мы не гарантированы от следующего злоупотребления: есть идентифицированный абонент, мы прикидываемся этим абонентом. | ||
- | |||
Если на высоком уровне есть шифрование, манипуляция MAC-адресами не спасает. | Если на высоком уровне есть шифрование, манипуляция MAC-адресами не спасает. | ||
Если наша задача ограничить доступ в Интернет, а не что-то другое, наверное, так и надо делать. | Если наша задача ограничить доступ в Интернет, а не что-то другое, наверное, так и надо делать. | ||
- | |||
Запароленная прокси. | Запароленная прокси. | ||
Причины, почему так не стоит делать: если точка доступа довольно хилая и стоит в офисе, было бы нехорошо давать доступ всем, потому что их может оказаться много, и кроме того, может быть злоумышленник, у которого, может быть, даже из-за троянов лезет в эфир всякий мусор в большом количестве; кроме того, если это домашняя точка доступа, зачем делать дополнительные усилия, если можно сделать автоматическую защиту и шифрование. | Причины, почему так не стоит делать: если точка доступа довольно хилая и стоит в офисе, было бы нехорошо давать доступ всем, потому что их может оказаться много, и кроме того, может быть злоумышленник, у которого, может быть, даже из-за троянов лезет в эфир всякий мусор в большом количестве; кроме того, если это домашняя точка доступа, зачем делать дополнительные усилия, если можно сделать автоматическую защиту и шифрование. | ||
Строка 129: | Строка 108: | ||
Пароль будут спрашивать. | Пароль будут спрашивать. | ||
Можно сделать так, чтобы он спрашивался один раз, но тем не менее. | Можно сделать так, чтобы он спрашивался один раз, но тем не менее. | ||
- | |||
Вторая проблема --- пароль лежит на точке доступа, его туда надо доставить. | Вторая проблема --- пароль лежит на точке доступа, его туда надо доставить. | ||
По парольному признаку работает WEP. | По парольному признаку работает WEP. | ||
Это простейший способ. | Это простейший способ. | ||
- | |||
Подбор WEP-пароля занимает несколько минут для 64-битного пароля. | Подбор WEP-пароля занимает несколько минут для 64-битного пароля. | ||
Этими паролями шифруются данные и идут в сеть. | Этими паролями шифруются данные и идут в сеть. | ||
Строка 139: | Строка 116: | ||
Беспарольный Wi-Fi в местах, где он открыто заявлен, например, в McDonalds. | Беспарольный Wi-Fi в местах, где он открыто заявлен, например, в McDonalds. | ||
- | |||
Железка рисует замочек с замочной скважиной. | Железка рисует замочек с замочной скважиной. | ||
Открыть его можно, даже есть специальные проблемы. | Открыть его можно, даже есть специальные проблемы. | ||
Потом придумали WPA, WPA2. | Потом придумали WPA, WPA2. | ||
- | |||
В ней можно работать с просто паролем. | В ней можно работать с просто паролем. | ||
Вариантов шифрования --- чертова прорва. | Вариантов шифрования --- чертова прорва. | ||
Автоматически подобрать все это очень сложно, особенно вручную. | Автоматически подобрать все это очень сложно, особенно вручную. | ||
Алгоритм WPA2. | Алгоритм WPA2. | ||
- | |||
Один пакет, зашифрованный пасс-фразой. | Один пакет, зашифрованный пасс-фразой. | ||
Сервер отвечает пакетом, которым надо шифровать. | Сервер отвечает пакетом, которым надо шифровать. | ||
Постоянного обмена пакетами с ключом нет. | Постоянного обмена пакетами с ключом нет. | ||
- | |||
Если шифрование по предварительному обмену сертификатами, рисуется замочек с тремя скважинами, как символ высоко защищенной сети. | Если шифрование по предварительному обмену сертификатами, рисуется замочек с тремя скважинами, как символ высоко защищенной сети. | ||
- | |||
Разница в том, что пароль используется один раз, при инициализации. | Разница в том, что пароль используется один раз, при инициализации. | ||
Далеко не все Wi-Fi карты это умеют. | Далеко не все Wi-Fi карты это умеют. | ||
- | |||
WPA_supplicant. | WPA_supplicant. | ||
Есть часть протокола, заложенного в устройстве, но в большинстве случаев он вылезает на уровне ОС. | Есть часть протокола, заложенного в устройстве, но в большинстве случаев он вылезает на уровне ОС. | ||
Никому не охота загружать в микросхему шифрование и прочее. | Никому не охота загружать в микросхему шифрование и прочее. | ||
- | + | Что творится в Линуксе? | |
Две очень неприятные вещи. | Две очень неприятные вещи. | ||
- | |||
На свете существует только два Wi-Fi чипсета, драйверы под которые можно писать, просто глядя в спецификацию. | На свете существует только два Wi-Fi чипсета, драйверы под которые можно писать, просто глядя в спецификацию. | ||
Еще недавно был один. | Еще недавно был один. | ||
Высокораспространенный чипсет закрыт. | Высокораспространенный чипсет закрыт. | ||
Многие чипсеты закрыты и наличие к ним драйвера --- вопрос либо reverse engineering глядя на драйвер, обмен данными, либо драйверов от производителей. | Многие чипсеты закрыты и наличие к ним драйвера --- вопрос либо reverse engineering глядя на драйвер, обмен данными, либо драйверов от производителей. | ||
- | |||
Мы имеем забавную ситуацию --- некоторые производители делают закрытые драйверы под Линукс. | Мы имеем забавную ситуацию --- некоторые производители делают закрытые драйверы под Линукс. | ||
Смелые ребята, особенно учитывая частую смену ядра. | Смелые ребята, особенно учитывая частую смену ядра. | ||
Строка 175: | Строка 144: | ||
Realtek всегда были открыты. | Realtek всегда были открыты. | ||
- | В OpenBSD был всего один эксплоит за всю историю | + | В OpenBSD был всего один эксплоит за всю историю. |
Она быстрая, надежная. | Она быстрая, надежная. | ||
Но не работает с закрытым железом. | Но не работает с закрытым железом. | ||
- | + | Ноутбуки. | |
- | + | Первый вариант --- посчастливилось стать обладателем устройства с открытым чипсетом. | |
- | + | Второй вариант --- чипсет с закрытым firmware. | |
Гуглим, находишь firmware, подсовываешь, все начинает работать. | Гуглим, находишь firmware, подсовываешь, все начинает работать. | ||
- | + | Третий вариант --- закрытый драйвер от производителя. | |
Гуглим, ставим. | Гуглим, ставим. | ||
- | + | Четвертый вариант --- ndis wrapper. | |
- | + | ||
Идея стандартизовать сетевой драйвер. | Идея стандартизовать сетевой драйвер. | ||
Есть некоторый API. | Есть некоторый API. | ||
Есть некоторая спецификация. | Есть некоторая спецификация. | ||
Если пишем согласно этой спецификации, можно не углубляться в железо, и все будет работать. | Если пишем согласно этой спецификации, можно не углубляться в железо, и все будет работать. | ||
- | |||
В Линуксе есть ndis, которому можно скормить виндовский драйвер и он будет работать. | В Линуксе есть ndis, которому можно скормить виндовский драйвер и он будет работать. | ||
Могут быть взаимозацепления кривых ручек. | Могут быть взаимозацепления кривых ручек. | ||
Строка 214: | Строка 181: | ||
Мы затронули тему аппаратной совместимости, она лежит немного в стороне. | Мы затронули тему аппаратной совместимости, она лежит немного в стороне. | ||
- | === Самоорганизация в WiFi === | ||
Когда речь идет о Wi-Fi, мы говорили, что карточка Wi-Fi может работать в режиме точки доступа. | Когда речь идет о Wi-Fi, мы говорили, что карточка Wi-Fi может работать в режиме точки доступа. | ||
В этом смысле отвод лучше. | В этом смысле отвод лучше. | ||
Строка 220: | Строка 186: | ||
Дисциплина самоорганизации множества Wi-Fi устройств. | Дисциплина самоорганизации множества Wi-Fi устройств. | ||
В чем отличие обсуждаемого механизма от межсетей? | В чем отличие обсуждаемого механизма от межсетей? | ||
- | |||
Есть точка раздачи Интернета. | Есть точка раздачи Интернета. | ||
Есть некоторое количество машин, которые каким-то образом вступили в ячеистые отношения друг с другом. | Есть некоторое количество машин, которые каким-то образом вступили в ячеистые отношения друг с другом. | ||
Мы лезем с Wi-Fi устройством в сеть. | Мы лезем с Wi-Fi устройством в сеть. | ||
Есть софт, выбирающий правильного абонента с точки зрения загрузки и кратчайшего пути. | Есть софт, выбирающий правильного абонента с точки зрения загрузки и кратчайшего пути. | ||
- | |||
Вопрос выбора пути --- вопрос архитектуры, софта. | Вопрос выбора пути --- вопрос архитектуры, софта. | ||
С точки зрения конечного пользователя --- негритенок приходит с OLPC, смотрит, ждет 10 минут, и у него появляется Интернет, когда его зарегистрируют. | С точки зрения конечного пользователя --- негритенок приходит с OLPC, смотрит, ждет 10 минут, и у него появляется Интернет, когда его зарегистрируют. | ||
Почему это возможно? | Почему это возможно? | ||
- | |||
Предполагается, что мы не будем генерировать огромное количество трафика. | Предполагается, что мы не будем генерировать огромное количество трафика. | ||
На конференции мы пришли, а у нас уже есть Интернет. | На конференции мы пришли, а у нас уже есть Интернет. | ||
Маршрутизация и алгоритм подключения точки к точке достаточно сложный, чтобы можно было двигаться с места на место и реструктурировать сеть. | Маршрутизация и алгоритм подключения точки к точке достаточно сложный, чтобы можно было двигаться с места на место и реструктурировать сеть. | ||
- | |||
Эта вещь была активно реализована в OLPC, потому что изначально было предназначено именно для такого использования. | Эта вещь была активно реализована в OLPC, потому что изначально было предназначено именно для такого использования. | ||
- | + | Аппаратная совместимость. | |
Что можно про нее рассказать? | Что можно про нее рассказать? | ||
ADSL --- Asymmetric Digital Subscriber Line. | ADSL --- Asymmetric Digital Subscriber Line. | ||
Строка 242: | Строка 204: | ||
Возможность передавать высокочастотный сигнал по обычному телефонному проводу, даже по советской лапше. | Возможность передавать высокочастотный сигнал по обычному телефонному проводу, даже по советской лапше. | ||
Этот способ характерен двумя вещами. | Этот способ характерен двумя вещами. | ||
- | |||
Во-первых, нужна специальная аппаратура на телефонной станции. | Во-первых, нужна специальная аппаратура на телефонной станции. | ||
Подключение абонента называется кроссированием. | Подключение абонента называется кроссированием. | ||
Строка 251: | Строка 212: | ||
Внутри этого чего-то завернут PPP-трафик. | Внутри этого чего-то завернут PPP-трафик. | ||
Есть три способа выкроить PPP-трафик. | Есть три способа выкроить PPP-трафик. | ||
- | |||
Способ 0. | Способ 0. | ||
Покупаете машинку --- ADSL-модем. | Покупаете машинку --- ADSL-модем. | ||
Строка 257: | Строка 217: | ||
В железке выставляем параметры провайдера, и обычно наступает счастье. | В железке выставляем параметры провайдера, и обычно наступает счастье. | ||
Железка является обычным маршрутизатором. | Железка является обычным маршрутизатором. | ||
- | |||
Упражнение 2 --- железка, с одной стороны телефон, с другой --- Ethernet, из которого лезет непонятно что. | Упражнение 2 --- железка, с одной стороны телефон, с другой --- Ethernet, из которого лезет непонятно что. | ||
Железка демодулирует сигнал и все. | Железка демодулирует сигнал и все. | ||
Строка 263: | Строка 222: | ||
Получаем PPPoE. | Получаем PPPoE. | ||
Уже клиенту PPPoE рассказываем настройки, и этот клиент получает нормальный Интернет. | Уже клиенту PPPoE рассказываем настройки, и этот клиент получает нормальный Интернет. | ||
- | |||
Третий вариант --- купили у Стрима USB ADSL-модем. | Третий вариант --- купили у Стрима USB ADSL-модем. | ||
С одной стороны телефон, с другой USB-кабель. | С одной стороны телефон, с другой USB-кабель. | ||
Должен быть программный продукт, который умеет интепретировать, выковыривать трафик, представлять в виде виртуального соединения. | Должен быть программный продукт, который умеет интепретировать, выковыривать трафик, представлять в виде виртуального соединения. | ||
- | |||
- | === Грабли === | ||
В случае USB-устройства есть два вида грабель. | В случае USB-устройства есть два вида грабель. | ||
Протокол USB с виду похож на Ethernet. | Протокол USB с виду похож на Ethernet. | ||
Там тоже есть фреймы и прочее. | Там тоже есть фреймы и прочее. | ||
- | |||
Грабли номер один --- вставляем устройство, получаем непонятно что. | Грабли номер один --- вставляем устройство, получаем непонятно что. | ||
Идут непонятные USB-сообщения, никто не знает, что это такое. | Идут непонятные USB-сообщения, никто не знает, что это такое. | ||
Строка 280: | Строка 235: | ||
На сегодняшний существует куча reverse engineering драйверов. | На сегодняшний существует куча reverse engineering драйверов. | ||
Если вы знаток, можно распознать трафик USB. | Если вы знаток, можно распознать трафик USB. | ||
- | |||
Вторые грабли --- железка еще и не умеет дешифровывать трафик, вообще ничего не умеет. | Вторые грабли --- железка еще и не умеет дешифровывать трафик, вообще ничего не умеет. | ||
В нее надо залить прошивку. | В нее надо залить прошивку. | ||
Строка 286: | Строка 240: | ||
Поддержка засовывания прошивки внутрь. | Поддержка засовывания прошивки внутрь. | ||
Запускаем программу, она что-то куда-то заливает. | Запускаем программу, она что-то куда-то заливает. | ||
- | |||
Есть инструкции с выдиранием куска кода из DLL --- это и будет прошивка. | Есть инструкции с выдиранием куска кода из DLL --- это и будет прошивка. | ||
Сами производители не делают этого, чтобы не нарушать лицензию. | Сами производители не делают этого, чтобы не нарушать лицензию. | ||
Строка 292: | Строка 245: | ||
Модемы еще и виснут. | Модемы еще и виснут. | ||
Рекомендация простая --- не покупайте USB ADSL модемы. | Рекомендация простая --- не покупайте USB ADSL модемы. | ||
- | |||
В следующий раз IP. | В следующий раз IP. | ||
- | + | <hr /> | |
+ | |||
+ | Конспект eSyr: | ||
<div style="font-size:60%">Уровень интерфейсный, и начать уровень следующий. | <div style="font-size:60%">Уровень интерфейсный, и начать уровень следующий. | ||