Секретные коды Android! Как раз и навсегда получить контроль над своим телефоном
*#*#7780#*#* сброс всех настроек
*#*#*#*#197328640 режим тестирования
*#*#*273 283 255* 663 282*#*#* резервное копирование медиафайлов
*#*#8255#*#* узнать, какие данные собирает о вас Гугл
3845 #*920# настройки 3D
*#*#232331#*#* проверка Bluetooth
526#*#*#*#* настройки локальной сети
*#*#1111#*#* данные по операционной системе
*#*#2222#*#* проверка комплектующих
*#*#4636#*#* Информация о телефоне, батарее и статистике использования.
*#*#7780#*#* Сброс настроек. Удаление только приложений.
*2767*3855# Полный сброс настроек, переустановка прошивки.
*#*#34971539#*#* Полная информация о камере.
*#*#197328640#*#* Режим тестирования сервисной активности.
*#*#232339#*#* / *#*#526#*#* Тестирование беспроводной сети.
*#*#232338#*#* Wi-Fi Mac-адрес.
*#*#1472365#*#* Быстрый тест GPS.
*#*#1575#*#* Различные GPS-тесты.
*#*#0283#*#* Тест Loopback.
*#*#0842#*#* Тест вибрации и подсветки.
*#*#2663#*#* Версия тачскрина.
*#*#2664#*#* Тест тачскрина.
*#*#0588#*#* Тест датчика приближения.
*#*#7262626#*#* Тест GSM-сигнала.
*#*#8255#*#* Тест сервиса Google Talk.
*#*#1234#*#* Информация о прошивке.
*#*#2222#*#* Версия FTA-железа.
*#*#44336#*#* Время сборки.
*#*#8351#*#* / *#*#8350#*#* Включить / выключить режим регистрации голосового набора.
Лог файлы Linux по порядку
Невозможно представить себе пользователя и администратора сервера, или даже рабочей станции на основе Linux, который никогда не читал лог файлы. Операционная система и работающие приложения постоянно создают различные типы сообщений, которые регистрируются в различных файлах журналов. Умение определить нужный файл журнала и что искать в нем поможет существенно сэкономить время и быстрее устранить ошибку.
Журналирование является основным источником информации о работе системы и ее ошибках. В этом кратком руководстве рассмотрим основные аспекты журналирования операционной системы, структуру каталогов, программы для чтения и обзора логов.
Основные лог файлы
Все файлы журналов, можно отнести к одной из следующих категорий:
Для каждого дистрибутива будет отдельный журнал менеджера пакетов.
И немного бинарных журналов учета пользовательских сессий.
И другие журналы
Так как операционная система, даже такая замечательная как Linux, сама по себе никакой ощутимой пользы не несет в себе, то скорее всего на сервере или рабочей станции будет крутится база данных, веб сервер, разнообразные приложения. Каждое приложения или служба может иметь свой собственный файл или каталог журналов событий и ошибок. Всех их естественно невозможно перечислить, лишь некоторые.
В домашнем каталоге пользователя могут находится журналы графических приложений, DE.
/.xsession-errors — Вывод stderr графических приложений X11.
/.xfce4-session.verbose-log — Сообщения рабочего стола XFCE4.
Чем просматривать — lnav
Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту — lnav, в расшифровке Log File Navigator.
Установка пакета как обычно одной командой.
Навигатор журналов lnav понимает ряд форматов файлов.
Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.
Программа умеет напрямую открывать архивный файл.
Показывает гистограмму информативных сообщений, предупреждений и ошибок, если нажать клавишу . Это с моего syslog-а.
Кроме этого поддерживается подсветка синтаксиса, дополнение по табу и разные полезности в статусной строке. К недостаткам можно отнести нестабильность поведения и зависания. Надеюсь lnav будет активно развиваться, очень полезная программа на мой взгляд.
«Не могу понять, что у нас за команда!» Ловчев — о победе сборной России над Кипром


Я не скажу, что они лучшие игроки с российским паспортом на своей позиции. Может, Джикия чуть-чуть лучше, но они такие же футболисты, как и другие. Недавно еще играла другая сборная, с другими игроками. Приблизительно все одинаково. Вопрос только — повезет или нет, — сказал Ловчев.
И вот меня удивляет, насколько у нас все уравнялось! Сейчас неважно — играешь ты за границей или в России. Середняком выглядит и тот, и другой. Как сыграем с Хорватией? Никто этого сейчас не скажет, — отметил чемпион СССР в составе «Спартака».
Более того, каждый почувствовал свою силу. Игроки будут выходить на матч, понимая, что это Хорватия, у которой есть футболисты мирового уровня. И это они должны теперь думать, как им нас обыгрывать, — заключил Ловчев.
Наиболее важные команды G-кода
Если ваша работа или хобби касаются станков с ЧПУ или 3D-принтеров, то понимание того, что такое G-код и как он работает, имеет важное значение для вас. Итак, в этом руководстве мы изучим основы языка G-кода, каковы наиболее важные или распространенные команды G-кода, и мы объясним, как они работают.
Что такое G-код?
G-code — это язык программирования для станков с ЧПУ (числовое программное управление). G-код означает «геометрический код». Мы используем этот язык, чтобы сказать машине, что делать или как что-то делать. Команды G-кода указывают машине, куда двигаться, с какой скоростью двигаться и по какому пути двигаться.
В случае станка, такого как токарный или фрезерный, режущий инструмент приводится в действие этими командами, чтобы следовать определенной траектории инструмента, срезая материал, чтобы получить желаемую форму.
Точно так же в случае аддитивного производства или 3D-принтеров команды G-кода инструктируют машину наносить материал слой за слоем, формируя точную геометрическую форму.
Как читать команды G-кода?
На первый взгляд, когда вы видите файл G-кода, он может показаться довольно сложным, но на самом деле его не так уж и сложно понять.
Если мы внимательно посмотрим на код, мы можем заметить, что большинство строк имеют одинаковую структуру. Кажется, что «сложная» часть G-кода — это все те числа, которые мы видим, которые являются просто координатами.
Давайте взглянем на одну строчку и объясним, как она работает.
G01 X247.951560 Y11.817060 Z-1.000000 F400.000000
Строка имеет следующую структуру:
Наиболее важные / распространенные команды G-кода
Итак, теперь, когда мы знаем, как читать строку G-кода, мы можем взглянуть на наиболее важные или часто используемые команды G-кода. Мы узнаем, как работает каждый из них, на нескольких примерах, и к концу этого руководства мы сможем полностью понять, как работает G-код, как читать, как изменять и даже как писать наш собственный G-код. К основным командам G-кода еще можно добавить команды управления оборудованием станка с ЧПУ, которые так же называются М-код. Они отвечают за такие действия как включение шпинделя, подача СОЖ, смена инструмента и так далее.
G00 — быстрое перемещение
Команда G00 перемещает станок с максимальной скоростью движения из текущего положения в заданную точку или координаты, указанные в команде. Станок будет перемещать все оси одновременно, поэтому они завершают движение одновременно. Это приводит к прямолинейному перемещению к новой точке положения.
G00 не является режущим движением, и его цель — просто быстро переместить машину в желаемое положение, чтобы начать какую-либо работу, такую как резка или печать.
G01 — линейная интерполяция
В отличие от команды G00, которая используется только для позиционирования, команда G01 используется, когда станок выполняет свою основную работу. В случае токарного или фрезерного станка — резка материала по прямой линии, а в случае 3D-принтера — экструзии материала по прямой линии.
G02 — круговая интерполяция по часовой стрелке
Команда G02 указывает машине двигаться по часовой стрелке по круговой схеме. Принцип тот же что и у команды G01, и она используется при выполнении соответствующего процесса обработки. В дополнение к параметрам конечной точки здесь нам также необходимо определить центр вращения или расстояние начальной точки дуги от центральной точки дуги. Начальная точка фактически является конечной точкой предыдущей команды или текущей точкой.
Для лучшего понимания мы добавим команду G02 после команды G01 из предыдущего примера.
Итак, в первом примере у нас есть команда G01, которая перемещает машину в точку X5, Y12. Теперь это будет отправной точкой для команды G02. С помощью параметров X и Y команды G02 мы устанавливаем конечную точку. Теперь, чтобы добраться до этой конечной точки, используя круговое движение или дугу, нам нужно определить ее центральную точку. Мы делаем это с помощью параметров I и J. Значения I и J относятся к начальной или конечной точке предыдущей команды. Итак, чтобы получить центральную точку по X5 и Y7, нам нужно сделать смещение 0 по оси X и смещение -5 по оси Y.
Конечно, мы можем установить центральную точку в любом другом месте, таким образом мы получим другую дугу, которая заканчивается в той же конечной точке. Вот пример этого:
Итак, здесь у нас все еще есть та же конечная точка, что и в предыдущем примере (X10, Y7), но теперь центральная точка находится в другом положении (X0, Y2). Благодаря этому мы получили более широкую дугу по сравнению с предыдущей.
G00, G01, G02 Пример — ручное программирование G-кода
Давайте посмотрим на простой пример фрезерования с ЧПУ с использованием этих трех основных команд G-кода: G00, G01 и G02.
Чтобы получить траекторию для формы, показанной на изображении выше, нам нужно выполнить команды G-кода:
Как только мы достигаем точки C (5,25), у нас есть еще одна команда G01 для достижения точки D (25,25). Затем мы используем команду G02, круговое движение, чтобы добраться до точки E (35,15) с центральной точкой (25,15). На самом деле у нас есть такая же центральная точка (25,15) для следующей команды G02, чтобы добраться до точки F (31,7). Однако мы должны отметить, что параметры I и J отличаются от предыдущей команды, потому что мы смещаем центр от последней конечной точки или точки E. Мы завершаем траекторию инструмента другой командой G01, которая выводит нас из точки F (31, 7) вернуться к пункту Б (5,5).
Итак, вот как мы можем вручную запрограммировать G-код для создания этой формы. Однако мы должны отметить, что это не полный G-код, потому что нам не хватает еще нескольких основных команд. Мы сделаем полный G-код в следующем примере, так как сначала нам нужно объяснить эти команды G-кода.
G03 — круговая интерполяция против часовой стрелки
Как и G02, команда G-кода G03 определяет движение станка по круговой схеме. Единственная разница здесь в том, что движение идет против часовой стрелки. Все остальные функции и правила такие же, как у команды G02.
G20 / G21 — Выбор единиц
Команды G20 и G21 определяют единицы G-кода: дюймы или миллиметры.
Отметим, что единицы должны быть установлены в начале программы. Если мы не укажем единицы измерения, машина будет рассматривать значения по умолчанию, установленные предыдущей программой.
G17 / G18 / G19 — выбор плоскости G-кода
С помощью этих команд G-кода мы выбираем рабочую плоскость станка.
G17 используется по умолчанию для большинства станков с ЧПУ, но два других также можно использовать для выполнения определенных движений.
G28 — Возвращение домой
Команда G28 указывает станку переместить инструмент в исходную точку или исходное положение. Чтобы избежать столкновения, мы можем включить промежуточную точку с параметрами X, Y и Z. Инструмент пройдет через эту точку, прежде чем перейти к контрольной точке. G28 X## Y## Z##
G90 / G91 — команды позиционирования G-кода
В абсолютном режиме инструмент всегда позиционируется от абсолютной точки или от нуля. Таким образом, команда G01 X10 Y5 переместит инструмент в эту точную точку (10,5), независимо от предыдущей позиции.
С другой стороны, в относительном режиме инструмент позиционируется относительно последней точки. Таким образом, если станок в настоящее время находится в точке (10,10), команда G01 X10 Y5 переведет инструмент в точку (20,15). Этот режим также называется «инкрементным режимом».
Другие команды G-кода
Итак, команды G-кода, которые мы описали выше, являются наиболее распространенными, но их гораздо больше. Существуют такие команды, как компенсация резца, масштабирование, системы координат заготовки, выдержка и т. Д.
Помимо G-кода, существуют также команды M-кода, которые используются при генерации реальной полноценной программы G-кода. Вот несколько распространенных команд M-кода:
В случае 3D-принтера:
Некоторым из этих команд требуются соответствующие параметры. Например, при включении шпинделя с помощью M03 мы можем установить скорость шпинделя с помощью параметра S. Итак, линия M30 S1000 будет включать шпиндель со скоростью 1000 об / мин.
То же самое относится и к параметру скорости подачи F. Нам не нужно включать его в каждую строку, если мы не хотим изменить его значение.
В некоторых файлах G-кода вы также можете видеть « N ## » перед командами. Слово N просто для нумерации строки или блока кода. Это может быть полезно для идентификации конкретной строки в случае ошибки в огромной программе.
Пример простой программы G-кода
Тем не менее, после прочтения всего этого, теперь мы можем вручную создать настоящий, актуальный код. Вот пример:
Описание программы G-кода:
7 сетевых Linux-команд, о которых стоит знать системным администраторам
Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.
Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.
В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.
Команда ip
Команда ip — это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.
Синтаксис этой команды выглядит так:
Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:
Вывод IP-адресов, назначенных интерфейсу на сервере:
Назначение IP-адреса интерфейсу, например — enps03 :
Удаление IP-адреса из интерфейса:
Изменение статуса интерфейса, в данном случае — включение eth0 :
Изменение статуса интерфейса, в данном случае — выключение eth0 :
Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :
Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:
Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :
Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:
Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :
Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:
Вывод маршрута к IP 10.10.1.4:
Команда ifconfig
Команда mtr
Синтаксис команды выглядит так:
Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:
А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:
Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:
А так можно получить отчёт, содержащий результаты работы mtr :
Вот — ещё один вариант получения такого отчёта:
Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:
А вот так можно использовать UDP вместо ICMP:
Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:
Так можно настроить размер пакета:
Для вывода результатов работы mtr в формате CSV используется такая команда:
Вот — команда для вывода результатов работы mtr в формате XML:
Команда tcpdump
Утилита tcpdump предназначена для захвата и анализа пакетов.
Установить её можно так:
Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.
Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:
▍ Захват трафика, идущего к некоему хосту и от него
Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:
Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:
Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:
▍ Захват трафика, идущего в некую сеть и из неё
Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:
Ещё можно поступить так:
Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.
Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):
Вот — захват трафика с фильтрацией по сети, в которую он направляется:
▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта
Вот пример захвата трафика только для DNS-порта по умолчанию (53):
Захват трафика для заданного порта:
Захват только HTTPS-трафика:
Захват трафика для всех портов кроме 80 и 25:
Команда netstat
Если в вашей системе netstat отсутствует, установить эту программу можно так:
Ей, в основном, пользуются, вызывая без параметров:
В более сложных случаях её вызывают с параметрами, что может выглядеть так:
Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:
Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:
Для вывода сведений обо всех TCP-портах применяется такой вариант команды:
Если нужны данные по UDP-портам — утилиту вызывают так:
Список портов любых протоколов, ожидающих соединений, можно вывести так:
Список TCP-портов, ожидающих соединений, выводится так:
Так выводят список UDP-портов, ожидающих соединений:
А так — список UNIX-портов, ожидающих соединений:
Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:
Так выводятся статистические сведения по TCP-портам:
Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:
Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:
Команда nslookup
Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.
Рассмотрим распространённые примеры использования этой команды.
Получение A-записи домена:
Просмотр NS-записей домена:
Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:
Обнаружение всех доступных DNS-записей домена:
Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):
Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:
Команда ping
Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.
Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:
Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:
Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:
Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:
В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.
▍ Destination Host Unreachable
Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.
▍ Request timed out
Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.
▍ Unknown host/Ping Request Could Not Find Host
Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.
О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).
Итоги
Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.







