По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Интересным вопросом в Linux системах, является управление регулярными выражениями. Это полезный и необходимый навык не только профессионалам своего дела, системным администраторам, но, а также и обычным пользователям линуксоподобных операционных систем. В данной статье я постараюсь раскрыть, как создавать регулярные выражения и как их применять на практике в каких-либо целях. Основной областью применение регулярных выражений является поиск информации и файлов в линуксоподобных операционных системах. Для работы в основном используются следующие символы: " ext" - слова начинающиеся с text "text/" - слова, заканчивающиеся на text "^" - начало строки "$" - конец строки "a-z" - диапазон от a до z "[^t]" - не буква t "[" - воспринять символ [ буквально "." - любой символ "a|z" - а или z Регулярные выражения в основном используются со следующими командами: grep - утилита поиска по выражению egrep - расширенный grep fgrep - быстрый grep rgrep - рекурсивный grep sed - потоковый текстовый редактор. А особенно с утилитой grep. Данная утилита используется для сортировки результатов чего либо, передавая ей результаты по конвейеру. Эта утилита осуществляет поиск и передачу на стандартный вывод результат его. ЕЕ можно запускать с различными ключами, но можно использовать ее другие варианты, которые представлены выше. И есть еще потоковый текстовый редактор. Это не полноценный текстовый редактор, он просто получает информацию построчно и обрабатывает. После чего выводит на стандартный вывод. Он не изменяет текстовый вывод или текстовый поток, он просто редактирует перед тем как вывести его для нас на экран. Начнем со следующего. Создадим один пустой файл file1.txt, через команду touch. Создадим в текстовом редакторе в той же директории файл file.txt. Как мы видим в файле file.txt просто набор слов. Далее мы с помощью данных слов посмотрим, как работают команды. Первая команда - grep man grep Получаем справку по данной команде. Как можно понять из справки команда grep и ее производные - это печать линий совпадающих шаблонов. Проще говоря, команда grep помогает сортировать те данные, что мы даем команде, через знак конвейера на ввод. Причем в мануале мы можем видеть egrep, fgrep и т.д. данные команды мы можем не использовать. Использовать можно только grep с ключами различными, т.е. ключи просто заменяют эти команды. Можно на примере посмотреть, как работает данная команда. Например, grep oo file.txt На картинке видно, что команда из указанного файла выбрала по определенному шаблону "oo". Причем даже делает красным цветом подсветку. Можно добавить еще ключик -n, тогда данная команда еще и выведет номер строки в которой находится то, что ищется по шаблону. Это полезно, когда работаем с каким-нибудь кодом или сценарием. Когда необходимо, что-то найти. Сразу видим, где находится объект поиска или что-то ищем по логам. При использовании шаблона очень важно понимать, что команда grep, чувствительна к регистрам в шаблонах. Это означает, что Boo и boo это разные шаблоны. В одном случае команда найдет слово, а в другом нет. Можно команде сказать, чтобы она не учитывала регистр. Это делается с помощью ключа -i. Посмотрим содержимое нашего каталога командой ls, а затем отфильтруем только то, что заканчивается на "ile". Получается следующее, когда мы даем на ввод команде grep шаблон и где искать, он работает с файлом, а когда мы даем команду ls она выводи содержимое каталога и мы это содержимое передаем по конвейеру на команду grep с заданным шаблоном. Соответственно grep фильтрует переданное содержимое согласно шаблона и выводит на экран. Получается, что команде grep дали, то команда и обработала. Наглядно можно посмотреть на рисунке выше. Мы просматриваем командой cat содержимое файла и подаем на ввод команде grep с фильтрацией по шаблону. Давайте найдем файлы в которых содержится сочетание "ple". grep ple file.txt в данном случае команда нашла оба слова содержащие шаблон. Давайте найдем слово, которое будет начинаться с "ple". Команда будет выглядеть следующим образом: grep ^ple file.txt. Значок "^" указывает на начало строки. Противоположная задача найти слова, заканчивающиеся на "ple". Команда будет выглядеть следующим образом grep ple$ file.txt. Т.е. применять к концу строки, говорит значок "$" в шаблоне. Можно дать команду grep .o file.txt. В данном выражении знак "." , заменяет любую букву. Как вы видите вывод шаблона ".ple" вывел только одно слово т.к только слово couple удовлетворяло шаблону , т.к перед "ple" должен был содержаться еще один символ любой. Попробуем рассмотреть другую команду egrep. egrep (Extended grep) man egrep - отошлет к справке по grep. Данная команда позволяет использовать более расширенный набор шаблонов. Рассмотрим следующий пример команды: egrep '^(b|d)' file.txt Шаблон заключается в одинарные кавычки, для того чтобы экранировать символы, и команда egrep поняла, что это относится к ней и воспринимала выражение как шаблон. Сам же шаблон означает, что поиск будет искать слова, в начале строки (знак ^) содержащие букву b или d. Мы видим, что команда вернула слова, начинающиеся с буквы b или d. Рассмотрим другой вариант использования команды egrep. Например: egrep '^[a-k]' file.txt Получим все слова, начинающиеся с "a" по "к". Знак "[]" - диапазона. Как мы видим слова, начинающиеся с большой буквы, не попали. Все эти регулярные выражения очень пригодятся, когда мы что-то ищем в файлах логах. Усложним еще шаблон. Возьмем следующий: egrep '^[a-k]|[A-K]' file.txt Усложняя выражение, мы добавили диапазон заглавных букв сказав команде grep искать диапазон маленьких или диапазон больших букв с начала строки. Вот теперь все хорошо. Слова с Заглавными буквами тоже отобразились. Как вариант egrep можно запускать просто grep с ключиком -e. Про fgrep man fgrep - отошлет к справке по grep. Команда fgrep не понимает регулярных выражений вообще. Получается следующим образом если мы вводим: egrep c$ file.txt. То команда согласно шаблону, ищет в файле букву "c" в конце слова. В случае же с командой fgrep c$ file.txt, команда будет искать именно сочетание "с$". Т.е. команда fgrep воспринимает символы регулярных выражений, как обычные символы, которые ей нужно найти, как аргументы. Рекурсивный rgrep Создадим каталог mkdir folder . Создадим файл great.txt в созданной директории folder со словом Hello при помощью команды echo "Hello" folder/great.txt И если мы скажем grep Hello * , поищи слово Hello в текущей директории. Получится следующая картина. Как мы видим grep не может искать в папках. Для таких случаев и используется утилита rgrep. rgrep Hello * Дает следующую картину. Совершенно спокойно в папке найдено было, то что подходило под шаблон. Данная утилита пробежалась по всем папкам и файлам в них и нашла подходящее под шаблон слово. Т.е. если нам необходимо провести поиск по всем файлам и папкам, то необходимо использовать утилиту rgrep. Команда sed man sed - стрим редактор. Т.е потоковый редактор для фильтрации и редактирования потока данных. Например, sed -e ‘s/oo/aa’ file.txt - открыть редактор sed и заменить вывод всех oo на aa в файле file.txt. Нужно понимать, что в результате данной команды изменения в файле не произойдут. Просто данные из файла будут взяты и с изменениями выведены на стандартный вывод, т.е. экран. Для сохранения результатов мы можем сказать, чтобы вывел в новый файл указав направление вывода. sed -e ‘s/oo/aa’ file.txt newfile.txt В данном редакторе мы можем ему сказать использовать регулярные выражения, для этого необходимо добавить ключ -r. У данного редактора очень большой функционал.
img
Устройства третьего уровня модели OSI обеспечивают так называемую трансляцию сетевых адресов, или Network Address Translation (NAT). Устройства третьего уровня, как правило, маршрутизаторы, фаерволы или коммутаторы с функциями L3, преобразуют внутренние IP-адреса во внешние, которые маршрутизируются в сети интернет. В рамках преобразования IP-адреса, фаервол сохраняет внутренний адрес себе в память, затем подменяет его на адрес внешнего интерфейса, либо меняет его на один из адресов внешнего диапазона (пула), и совершает отправку измененного IP-пакета. Трансляция портов В современных корпоративных сетях, фаерволы выполняют функцию, которая называется Port Address Translation (PAT). Эта технология позволяет множеству внутренних IP – адресов использовать один и тот же внешний адрес. Данная технология реализуется на четвертом уровне модели OSI. Схема работы PAT показана ниже: На схеме, компьютеры (рабочие станции) находятся в защищенном участке сети за «фаерволом». Этот участок обозначен как внутренняя сеть, где действует адресация 192.168.0.0 с маской подсети 255.255.255.0. Как было сказано в начале главы, Cisco Adaptive Security Appliances (ASA) выполняет функции по трансляции портов для устройств внутренней сети. Трансляция выполняется для «хостов» подсети 192.168.0.X в во внешний IP-адрес Cisco ASA – 208.104.33.225. В данном примере, компьютер А отправляет TCP пакет с портом назначения 80, получателем которого является WEB – сервер, расположенный во внешнем сегменте сети на компьютере Б. ASA подменяет оригинальный запрос с IP-адреса 192.168.0.44 на свой собственный (208.104.33.225). Параллельно, случайно выбирается номер порта, отличного от исходного (в данном примере порт 1024 заменен на 1188). Только после этого, пакеты отправляются на WEB – сервер к адресу назначения 208.104.33.241. Система обнаружения и предотвращения вторжений Система обнаружения вторжений Intrusion Detection System (IDS), это устройства, которые предназначены для обнаружения атак на корпоративную сеть и поддержания ИТ безопасности в целом. Системы обнаружения позволяют отслеживать распределенные DDoS атаки, «черви» и «трояны». Как показано выше, злоумышленник отправляет «зараженный» пакет на WEB – сервера компании с целью, например, вывести из строя сайт компании. Система обнаружения вторжения (IDS) отслеживает данный пакет, и отправляет сигнал тревоги на систему мониторинга. Недостатком данного механизма является то, что он лишь уведомляет о наличии угрозы, но не предотвращает ее. В данном случае, отправленный злоумышленником пакет дойдет до получателя. Система предотвращения вторжений, или Intrusion Prevention System (IPS) , способна не только обнаружить «зараженный» пакет, но и уничтожить его. Схема работы IPS показана на рисунке ниже: Как видно из рисунка, система IPS предотвращает попадание «зараженного» пакета в сегмент корпоративной сети. IPS/IDS системы определяют «зараженный» трафик по следующим критериям: Проверка на базе подписи; Общая политика безопасности; Проверка на базе нелинейности поведения; Проверка на основании репутации. О критериях определения "плохого" трафика мы расскажем в следующих статьях.
img
Друг, на днях к нам в офис подъехал E1 - шлюз от китайского вендора Dinstar модели MTG200-1-E1. Взяв в руки коробку мы устремились в лабораторию – скрещивать шлюз с E1 потоком со стороны ТфОП и с IP – АТС Asterisk другой. Коротко про шлюз Произведем небольшой «анбоксинг» шлюза. Изделие поставляется в коробке и защищено специальной пленкой: В комплект поставки входит: Ethernet – кабель; Провод для подключения E1 потока; Консольный кабель; Сам шлюз; На фронтальной панели MTG200 расположились: Индикатор питания; Индикатор «алярмов»; Физический разъем, предназначенный для сброса настроек устройства к заводским; Консольный порт; Индикация E1/T1 и Fast Ethernet интерфейсов; Разворачиваем шлюз на 180 градусов и видим: Разъем для подключения питания; Физические интерфейсы для E1/T1; Физический интерфейсы для Fast Ethernet; Вот такой шлюз ожидает своего владельца :) Мы переходим к настройке связки с IP – АТС Asterisk с помощью FreePBX. Связка со стороны Asterisk Настройки мы будем выполнять с помощью графического интерфейса FreePBX 14 версии. Подключившись, переходим в раздел Connectivity → Trunks и добавляем новый транк для MTG200 (chan_sip). Дайте удобное для вас имя транка в поле Trunk Name. В разделе Outgoing (исходящие параметры) заполняем: host=IP_адрес_Dinstar type=friend fromuser=логин username=логин secret=пароль qualify=yes port=5060 context=from-pstn Переключаемся на вкладку Incoming (входящие параметры) и указываем следующие реквизиты: disallow=all allow=alaw&ulaw canreinvite=no context=from-pstn dtmfmode=rfc2833 username=логин secret=пароль qualify=yes insecure=invite host=dynamic type=friend Отлично. Теперь давайте проверим статус этих пиров: Мы немного забежали вперед, и, как видите, статус нашего входящего пира так же отмечен как OK. Это возможно, только после создания «плеча» в сторону Asterisk на шлюзе. Мы наглядно покажем этот процесс далее. После, создайте входящий/исходящий маршрут для направления вызовов в нужном направлении или формате. Как это сделать, можно прочитать в этой статье. Связка со стороны провайдера Приступаем к настройке шлюза. Провайдер прислал нам следующие параметры: Каждая настройка сильно зависит от параметров вашего провайдера. Свяжитесь с ним, перед настройкой CRC выключен D-канал User А-номер от Вашей АТС должен приходить 10 знаков с типом National (49Xxxxxxxx) План нумерации А-номера должен быть ISDN/Telephony С ними мы и будем работать. По умолчанию, шлюз почти готов к работе – поменяем некоторые параметры. Переходим в раздел PRI Config → PRI Trunk и добавляем новый транк со следующими настройками: Скорректируем SIP параметры: переходим в SIP Config → SIP Parameter: Скорректируем SIP параметры: переходим в SIP Config → SIP Trunk. Указываем IP – адрес и порт со стороны Asterisk: Настроим общие E1/T1 параметры: PSTN Group Config → E1/T1 Parameter : Готово. Делаем телефонный звонок и проверяем, как занимаются тайм – слоты на нашем шлюзе: Status & Statistics → E1/T1 Status : Мы сделали входящий звонок – как видите, зеленым цветом, отображается занятый тайм – слот, а сам звонок, улетает по SIP в сторону Asterisk.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59