Обновить

Односторонний ping в Windows

Недавно столкнулся на работе со странной проблемой.

Выездная бригада должна была проверить сеть на объекте, подключив 2 ноутбука (А и B)к разным её частям. Картина предстала следующая:

A> ping IP_B - успешно
B> ping IP_A - успешно
A> ping IP_B - с этого момента всегда "превышен интервал ожидания"

Естественно, ноутбуки были немедленно соединены напрямую, но ситуация не изменилась. После ping с ноутбука B, он переставал отвечать на ICMP запросы других узлов сети. При этом сам B пинговал и получал ответы от всех исправно.

Бригада справилась и без ноутбуков, которые с виноватым видом вручили мне: «Посмотри. Сломали может чего...»
Читать дальше →

Сравнение Yii2 и Laravell 5.5

Множество споров


В настоящее время, в интернета множество споров на эту тему, и почти каждый заканчивается тем, что каждому свое. Но никто не хочет пояснять, что к чему и каждому конкретно. Замысловатая фраза, но я попробую пояснить. Существует множество споров какой фреймворк все же лучше. В итоге, каждый спор заканчивается, так или иначе, словами, что каждый хорош для своих целей. И часто возникает вопрос: «Каких же конкретно целей?». Попробуем разобраться.
Читать дальше →

Внесение изменений в закрытую ветку реестра windows через powerhell

Была поставлена задача, внести измения в ветку ресстра windows пользовательских машин, с помощью GPO и скрипта powerhell.

Закрытая ветка реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
Тип данных реестра: String value
Имя: UXTheme
Значение: UXTheme.dll


Открытая ветка реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
Имя: CWDIllegalInDllSearch
Значение: 0xffffffff
Тип данных реестра: DWORD


Открытая ветка реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
Имя: SafeDllSearchMode
Значение: 1
Тип данных реестра: DWORD


Читать дальше →

Как Windows и Solus 3 в одном ноутбуке поселились и ужились

Доброго времени суток, дамы и господа, сегодня речь пойдет о зависании «намертво» в процессе установки/загрузки linux с liveUSB рядом с windows и решении этой проблемы.
Читать дальше →

Revolver: микро библиотека для frontend на Java Script

Сам проект был начат достаточно давно и развивался под другим именем и с другими более амбициозными целями, но времени вечно не хватает и мотивации было недостаточно, чтобы доработать полноценный framework. Поэтому было решено отбросить мечты о том, что когда-нибудь маленькое творение станет полноценной системой, выпилить из проекта все компоненты и части, которые идеологически прокладывали мосты к большей системе и попутно переработать большую часть кода.

Собственно, Revolver — микробиблиотека для frontend (всего чуть более 1500 строк несжатого кода), которая включает в себя API (можете назвать это синтаксический сахар, если вам угодно) для работы с элементами DOM, поддерживающая ряд модулей для создания анимаций и асинхронных запросов.
Читать дальше →

Фрилансерский блокбастер или история одного непростого заказа

Здравствуйте, меня зовут stalinko и я фрилансер. Работаю в основном через UpWork. В качестве подработки обожаю писать скрейперы. Это такие программы, которые парсят (выкачивают) данные с других сайтов.

Прилетел мне заказик, вполне стандартный: написать программку, чтобы раз в сутки пробегалась по всем товарам интернет-магазина и сохраняла их в БД клиента. Ну и чтобы эти товары можно было через браузер смотреть, сортировать, фильтровать.

Заказ стандартный абсолютно. Я оценил его в 8 часов на скрейпер + 8 часов на веб-страничку. Клиент захотел по фиксированной цене работать, поэтому я предложил $700, в итоге сторговались на $600. Заключили контракт, работаю.

В самом начале оказалось, что товаров более 800.000. Они разбиты по более чем 7000 страниц. И некоторые параметры можно узнать только если открыть страницу с товаром. Стало веселее. Потому что 800.000 запросов — это уже ощутимо для любого сайта кроме гугла.

Начал писать и тут оказалось, что сайт довольно строго банит скрейперы, если слишком часто посылать запросы. Проблема… Если посылать запросы с задержкой то весь парсинг растянется на пару месяцев, это только первый проход! Что делать?
Читать дальше →

Конвертация формул из MS word в TeX

Приветствую читателей Хабра!

На создание статьи меня побудил этот хабропост, в котором рассказывается о методе конвертации файлов из MS Word в LaTeX. Видимо, на набор формул заново занял не малое время, автор делится своими впечатлениями:
И, конечно, отдельное удовольствие доставил повторный набор формул, изначально представленных в DOC-файле, в командах LaTeX'а.
Читателям предлагается способ превосходящий по быстроте ручной перенабор формул.
Читать дальше →

Автоматическое геотегирование новостных сообщений или как я писал свой диплом

Всем привет. Сегодня я хочу рассказать о результате моей дипломной роботы, а именно описании программы, которая занимается геотегированием (привязкой к карте) новостных сообщений веб-сайта. Другими словами, программа позволяет автоматически отображать на карте теги (метки и кластеры) новостных сообщений, которые берутся с сайтов. Еще есть возможность просмотра простой ленты новостей.

Здесь можно ознакомится с программой. Предупреждаю сразу, программа находиться в режиме тестирования, а так же текст интерфейса написан на украинском языке.



План

1. Входные данные.
2. База данных названий населенных пунктов.
3. Фильтрация текста.
4. Поиск названий населенных пунктов в новосном сообщении.
5. Геотегирование новостного сообщения и генерация карты.
6. Дополнительные возможности программы.
Читать дальше →

Некоторые простые вещи, которые мигрируют из проекта в проект

Введение


Наверное в каждого большом проекте есть папки с названиями tools, utils, helpers и другими, которые хранят в себе какие-то простые абстракции и статические функции. Часто код из этих папок мигрирует из проекта в проект. Причем в проектах, авторы которых друг-друга в глаза не видели, вспомогательный код может быть почти идентичным. Предлагаю пользователям хабра поделиться друг с другом своими вспомогательными функциями.


Вот например некоторые мои вспомогательные классы (код на C#). Все они когда-то были найдены в интернете, скопированы у коллег или написаны мной (я уже не помню). Могут содержать в себе ошибки.


Потокобезопасный Random


В C# класс Random не является потокобезопасным, но чтобы при генерации случайного числа из разных потоков в небольшом отрезке времени не получить одинаковое значение, переменную типа Random необходимо хранить статически. Решение этой проблемы может быть класс ThreadSafeRandom:

Читать дальше →

Отправка голосовых сообщение с помощью vk api

Всем здравствуйте. Сегодня я попытаюсь как я реализовывал отправку голосовых сообщений в Python с помощью библиотеки vk_api. Взял идею отсюда.

План


1. Входим в аккаунт.
2. Получаем ссылку(url1), на которую будем загружать аудио файл.
3. Переводим текст в аудио файл (gtts module).
4. Загружаем файл на url1.
5. Получаем документ, которой отправим с помощью метода messages.send.

Config.py


Для удобства я использую отдельный файл с «конифгом».

LOGIN = '' # логин от VK
PASSWORD = '' # пароль от VK
LANG = '' # Язык, на котором будут голосовые сообщения ru,en, etc.

Приступим к самому коду
Читать дальше →

Экспорт векторов из Sketch App в SVG, проблемы с кодом SVG и отображением иконок в IcoMoon

Передо мной стояла задача сделать иконочный шрифт из векторов, сделанных в Sketch App, и сгенерировать шрифт на IcoMoon.

Для этого нужно экспортировать векторные иконки из Sketch App в SVG и добавить их в Iconmoon. Но что-то пошло не так, некоторые иконки имели неожиданный вид.

image Это то, как отобразил мой SVG IcoMoon.
image А это то, на что я рассчитывала, глядя в Sketch.

Читать дальше →

Полноценный USB выход на D-link dir-320 A1 на Tomato

Доброго времени суток всем!

В этой статье хочу помочь владельцам достаточно популярного, но уже морально устаревшего D-link dir-320 ревизии A1 разобраться как заставить нормально работать USB в роли файлового сервера, т.к. в интернете я не нашел внятной информации как это сделать, и пришлось собирать пазл по кусочкам.

И так, роутер имеет на себе usb выход, НО… производитель решил, что использовать его нужно только для принт-сервера и не более того. В web интерфейсе родной прошивки можно выбрать только «Настройки принтера». Обновление прошивки ничего не дает.

Т.к. USB выход есть и он может делать, что либо еще кроме выдачи 5 В, то соответственно проблема только одна и это прошивка. Было решено менять.

Начнем по порядку, имелся роутер ASUS RT-N12VP без USB выхода, а так же старенький D-link dir-320 A1, цель была следующая, объединить два роутера в одну сеть и иметь сетевой диск.

Первый подводный камень «сменить прошивку на dd-wrt»

Читать дальше →

Написание декоратора при использовании django-export-import

Привет, Хабр! Меня зовут Павел Цвилюк, начинающий Python Developer. В ходе работы над одним из проектов я столкнулся с проблемой подключения поискового поля и выгрузки отчётов в exel в административной панели. Их необходимо было регистрировать вместе с моим классом User:

models.py
class User(models.Model):
    name=models.CharField(max_length=200)
    surname=models.CharField(max_length=200)
    email=models.EmailField()
    password=models.CharField(max_length=200)
    telephone=models.PositiveIntegerField(max_length=12,blank=True,null=True)

Так выглядел мой код, когда я попытался изначально зарегистрировать их:

admin.py
from django.contrib import admin
from .models import User
from import_export import resources
from import_export.admin import ImportExportModelAdmin

class UsersAdmin(admin.ModelAdmin):
    search_fields = ('name', 'email', 'telephone')

class UsersResource(resources.ModelResource):
    class Meta:
        model = User
        skip_unchanged = True
        fields = ('id', 'name', 'email', 'telephone')

class UserAdmin(ImportExportModelAdmin):
        resource_class = UsersResource

admin.site.register(User, UsersAdmin, UsersAdmin)

Запустив вышеописанный код я получил следующее:
admin.site.register(User, UsersAdmin, UserAdmin)
TypeError: register() takes from 2 to 3 positional arguments but 4 were given
Читать дальше →

Выкачиваем фотографии из каждого диалога ВК средствами API

Иногда бывает полезно выгрузить все фотографии из диалога ВКонтакте, руками это не сделать не просто, поэтому обратимся к API.

В документации присутствует метод messages.getHistoryAttachments — он нам и нужен. Возвращать он может не только фотографии, но и другого рода документы: аудио, видео и т.д. Но в этом примере будем рассматривать только фотографии.
Читать дальше →

bash редактируем приветствия сервера Linux

Редактируем стандартное приветствия Linux/Bash


2018_02_05_16_50_16

1. Установим дополнительные пакеты «figlet»

sudo apt-get install figlet -y  

переходим в каталог суперпользователя…

cd /root/ 

Редактируем файл .bashrc
(добавим дополнения в низ после #fi)

nano .bashrc
Читать дальше →

Для чего я создавал программу Компьютерщик

Каждый кто хоть раз работал мастером по настройки и ремонту компьютер наверняка хотел вести учёт о проделанной работе. В этом поможет программа "Компьютерщик". Здесь всё сделано для удобной работы.

image
Читать дальше →

Методы, используемые полицией, чтобы поймать торговцев наркотиками в DarkNet’е

Новое исследование на рынках теневых интернет-сайтов для незаконных товарооборотов наркотиков, выявило некоторые способы использования правоохранительными органами ловушек для онлайн-торговцев наркотиками.
Читать дальше →

Методы анализа трафика как основа проектирования IDS

Выявление и классификация аномалий сетевого трафика из множества событий сети становится полезным при создании модели работы сети, оптимизации настроек оборудования и поддержания заданного QoS даже при фиксировании атаки на целевую систему. В настоящее время большое внимание уделяется методам прогнозирования работы компьютерных сетей в различных условиях, и, особенно, исследованиям по оценке функционирования информационной инфраструктуры при проведении нацеленных на неё атак.

Идентификация и распознавание воздействия на сети связи на основании анализа циркулирующего в них трафика происходит на основе использования ряда методов выявления аномалий:

  • Трендовый анализ
  • Корреляционный анализ
  • Методы на основе вейвлет-анализа
  • Методы классификаторов с использованием теории нечетких множеств
  • Анализ трафика на основе нейронных сетей
  • Методы фрактального анализа
  • Методы конечных автоматов на основе генетических алгоритмов
  • Методы на основе бионических подходов
  • Гибридные подходы

Упомянутые методы обнаружения и классификации аномалий и их комбинации используются при проектировании программно-аппаратных комплексов/систем обнаружения вторжений. Различают несколько типов IDs в зависимости от типа используемого сенсора, его расположения и методов подсистемы анализа.
Читать дальше →

Мониторинг истечения срока SSL-сертификатов сайтов

Мониторинг истечения срока SSL-сертификатов сайтов


image

Скрипт будет работать на системе Ubuntu 16.04 + Apache 2.4.18. И будет мониторинг окончания действия годности сертификатов двух сайтов SSL. К примеру, мониторинг сайта
habrahabr.ru и www.google.ru.

Очень удобное и быстрое решения за 1 минуту.

Действия №1


Для начала создам скрипт на тестовом сервере в корне пользователя

Скопируем и сохраним скрипт внизу будет описания…
nano /home/aa/ssl.sh

echo "<hr>" &&
echo "<center><strong><H1>"Монитор истечения срока SSL-сертификата "</H1></center></strong>" 
echo "<hr>" &&
echo "<p><font size="5" color="red" face="Arial">habrahabr.ru</font></p>"&&
echo habrahabr.ru  &&  echo  | openssl s_client -connect habrahabr.ru:443 2>/dev/null | openssl x509 -enddate -noout | cu\t -d '=' -f2 | xargs -I{} date -d "{}" '+%F %T' 
echo "<p>"&& 
echo "<hr>"
echo "<p><font size="5" color="red" face="Arial">www.google.ru</font></p>"&&
echo www.google.ru && echo "<strong>"  | openssl s_client -connect www.google.ru:443 2>/dev/null | openssl x509 -enddate -noout | cu\t -d '=' -f2 | xargs -I{} date -d "{}" '+%F %T'  
echo "<title>SSL</title>" 
echo "<hr>" 
echo "<meta http-equiv="Refresh" content="10" />"
date 

Читать дальше →