• Где взять список всевозможных web-портов?

    Jump
    @Jump
    Системный администратор со стажем.
    Такого понятия как Web порты нет.
    Порт это просто числовой идентификатор для обращения к конкретному сервису на сервере.
    Есть порты которые принято использовать для определенных сервисов.

    Большинство известных Web служб используют протоколы http или https, поэтому обычно размещаются на 80 или 443 порту соответственно.
    Что такое "полувеб-службы", а так же "статы, мониторинги и административки" мне не ведомо.
    Ответ написан
    Комментировать
  • Проблема с локальными статическими переменными. Соответствует ли это стандарту?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как выяснилось (после 2 часов отладки вперемежку с нецензурной руганью) статические переменные a, b оказались одними и теми же (хранятся по одному адресу) для всех объектов классов B, C, D.
    Разве они не должны быть в каждом объекте класса разными?

    Начнём с того, что эти переменные вообще не принадлежат объекту. Это локальные переменные функции. А функция у вас определена одна единственная, A::func. B и C унаследовали это определение, своих функций func у них нет.
    Ответ написан
    3 комментария
  • Где взять список всевозможных web-портов?

    1. Существует список портов и он представлен в википедии (Список портов TCP и UDP), этот список зарегестрирован IANA (www.iana.org/assignments/service-names-port-number...
    2. если в первом случае указаны зарегистрированы порты, то есть свободный диапазон (49152—65535) и там можно задействовать любой не занятый. И в большинстве случаем средства мониторинга, администрирования настраиваются (какой порт слушать), в общем веду к тому, что надо читать доку к конкретному инструменту и смотреть какой порт используется по умолчанию у того или иного инструмента.
    Ответ написан
    Комментировать
  • Было NTFS, стало FAT-32. Как восстановить данные после форматирования?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Форматируйте обратно в NTFS и снова в R-Studio. Конечно, форматировать надо с теми же настройками, что были ранее. И да, форматируйте быстро. В смысле, Вам надо только восстановить таблицу разделов.

    Но. Во-первых, если данные действительно хоть как-то важны - перед любыми опытами сделайте полную бинарную копию диска. Например, с помощью утилиты dd. И желательно потом работать именно с образом, а не диском. Во-вторых, если данные очень важны, лучше доверьтесь профессионалам. Они знаю что делают и вероятность успешно восстановить данные сильно возрастёт. В-третьих, если не поможет новая старая разметка - тогда открываем образ в hex-редакторе, изучаем строение NTFS (оно не сильно сложное) и выковыриваем файлы руками. Хотя возможно это будет и очень долго.

    И, наконец, ещё раз повторю "во-вторых". Доверьтесь профессионалам.
    Ответ написан
    3 комментария
  • Как начать контрибутить на GitHub?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    1. Взять таск из Issues проекта
    2. Реализовать/Исправить его
    3. Сделать pull request
    Ответ написан
    Комментировать
  • Как переключиться в режим суперюзера (sudo)?

    mmmaaak
    @mmmaaak
    Дак если рутовый пароль есть, сразу от рута логиньтесь и все должно быть ОК, разве нет? Я так со своими некоторымы devel серверами работаю, как-раз для того чтоб админить всяких демонов и веб-серверов
    Ответ написан
    Комментировать
  • Как и где посмотреть рабочие примеры с кодом программ на java?

    @j_wayne
    GitHub слышал, но очень сложный для меня

    Ничего, втянетесь, у вас особо нет выбора)
    Ответ написан
    Комментировать
  • Что будет, если на вход усилителя подать сигнал с его выхода?

    @throughtheether
    human after all
    Положительная обратная связь и самовозбуждение. Возможные последствия - выход из строя или срабатывание защиты. Функциональность будет нарушена в любом случае.
    Ответ написан
    Комментировать
  • Почему не корректно работает make.exe?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    make-файл написан криво и пытается создать директорию командой mkdir, которая есть в nix, но отсутствует в win.
    Ответ написан
    4 комментария
  • Как работает рандом в java?

    icelaba
    @icelaba
    Знаю и умею всё
    Обычно такие наблюдения вас обманывают, так что лучше себе и своим глазам не доверять,
    постройте гистограмму вывода, и тогда если она будет очень сильно отличаться от равномерного распределения делайте выводы, но смею заверить при большом числе прогонов джавовский Math.random() отличаться не будет.
    Хотя конечно Math.random плохой генератор случайных чисел, но не настолько как вы описали.
    Ответ написан
    Комментировать
  • Стоит ли использовать RSA?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    И да и нет одновременно.

    (обновлено, ибо внезапно прочитал и половину не понял - видимо писал на "потоке")
    RSA стоит использовать лишь для шифрования других ключей - ключей симметричных алгоритмов шифрования. AES, ГОСТ 28147-89, 3DES и другие. Почему? Во-первых, симметричные алгоритмы более устойчивы к взлому при большом известном закрытом тексте, тогда как ассиметричное шифрование потенциально имеет изъяны. В том смысле, что (почти) любое ассиметричное шифрование использует задачу NP-класса (точнее - NP-полную задачу): факторизация числа (RSA), декодирование полных (общих) линейных кодов (McEliece), вычисление дискретного логарифма на элептической кривой (ГОСТ Р 34.10-2012), или в конечном поле (Elgamal). Другое дело, что любая эта задача потенциально - решаемая. В случае с симметричным шифрованием действительно стоит лишь надеяться на чудо (в ГОСТе разрешено выбирать любые s-блоки, так что криптоаналитику ничего не остаётся, как молиться пролетариату в надежде на терморектальный криптоанализ). В случае же с ассиметричным шифром в дело вступают две вещи - высокая сложность реализации действительно стойкого алгоритма (ассиметричные шифры очень сложны и полны нюансов, не учитывая которые можно запросто порушить систему), низкая скорость работы (в силу того, что приходиться использовать очень абстрактные математические функции, сложно реализуемые аппаратно и таящие в себе множество низкоуровневых операций) при требовании к очень длинным ключам заставляют использовать небольшие ключи для того, чтобы не ждать вечность.

    Однако. Здесь имеется странный парадокс. Если данные очень важные и на их защиту можно убить несколько миллионов енотов, то надо использовать только ассиметричный шифр. Потому что, он потенциально даёт большую стойкость. Парадокс здесь в том, что если классы P и NP неравны, то мы получаем едва ли не идеальную и приемлемую по стоимости защиту, так как есть возможность сложной организационной защиты.
    (здесь было многое отправлено в топку)

    Окай, посмотрим на стандартную схему с Алисой, Бобом и Евой:
    Алиса -> c = E(m, Eb) -> -------- -> D(c, Db) -> Боб (
                                     |
                                     |
                                     v
                         Ева <- c, E, D, d

    здесь m - текст, который надо передать (сообщение)
    c - шифротекст
    E - функция шифрования (получения из сообщения шифротекста)
    D - функция дешифрования, иначе - обратная функция шифрования (получения из шифротекста - сообщения)
    Eb, Db - секретный и открытый ключи Боба (в литературе используется различное обозначение, здесь так)
    Собственно, Ева знает всё о функциях шифрования и дешифрования, имеет доступ к шифротексту и будем считать, что она получает и открытый ключ.

    Теперь, что нам это даёт? А это нам даёт возможность наплодить большое количество ключей и шифровать каждое сообщение отдельным ключём. Потенциально, но если есть $$$, то можно скупить половину серверов страны, если не планеты и радоваться жизни. Хотя ровно так же можно поступить и с симметричным шифрованием, и называется это одноразовым блокнотом, используют и различные режимы шифрования и всё равно выходит профитнее. Где же профит здесь?
    Во-первых, если нужно передавать по каналу, а не хранить, то можно генерировать ключи налету и после расшифровки их уничтожать. По сути, получиться что для того, чтобы получить сообщение длины l бобу потребуется передать и ключей в общей сумме длины l. Много? Да. Профитно? Очень - ибо мы реализуем
    ассиметричный одноразовый блокнот (упс), который, однако, нет никакого смысла использовать нет - слишком дорого. Да и не всегда возможно - порой обратный канал чрезвычайно узкий.
    Во-вторых, есть способ организовать защиту, основанную на иерархии пользователей. То есть майор Алиса написала отчёт, который ей надо отправить подполковнику Бобу. При этом читать этот отчёт должны иметь право все, кто равен или выше подполковника.
    В-третьих, как писалось выше, сложность взлома достаточно велика. И не только потому, что P != NP. Даже P довольно большое получается, поэтому и используют асимметричный шифр для передачи ключей симметричных ключей. Но и взлом получается очень не простым из-за тяжёлых математических абстракций. Обычно. Да, RSA можно "взломать" перебрав все возможные делители, но это долго из-за астрономического размера ключа. А способы обхода или упрощения опираются на такой зубодробительный матан, что попытка как-то это реализовать заставит использовать сами по себе очень тяжёлые операции. Так это при работе с банальными числами (и это показывает, насколько плохо развита теория чисел), а что если уйти на эллиптическую кривую - аналитическая геометрия развита может чуть лучше, но абстракции намного тяжелее для компьютеров. И даже использование графических карт не помогает, ведь есть ещё и макэлис. Я к тому, что O(2^32) для симметричного шифра и O(2^32) для асимметричного шифра не очень таки равны. Так же не равны, как не равны день и месяц.

    Но самое главное. Сегодня всё что угодно можно взломать. А то, что нельзя взломать - бесполезно (ибо либо уничтожено полностью, либо предоставляет такие же непосильные сложности для расшифровки и получателю). Во-первых, атака может быть не на сами шифры, а на организационные методы (которые, можно улучшить применением асимметричного шифра). Во-вторых, некоторые шифры таки имеют изъяны, просто возможно о них знают ограниченный круг лиц; привет масонам. И, наконец, криптоаналитик может быть просто ну очень удачлив.

    Поэтому шифрование надо использовать соразмерно цене риска. Чем выше риск - тем сильнее шифрование, но самое главное - сложнее и дисциплинированнее организационные меры. Согласитесь - бесполезно иметь централизованное хранилище сертификатов с одним сервером в бункере за 200 км под землей и круглосуточной охраной из армии маленькой страны, всего лишь одним портом торчащим во внешний мир с каналом около 200 бит в секунду и постоянным наблюдением за организационными методами (авторизация, доступ и подобной)... Имея пароль на суперюзер - qwerty, и держа на винчестере архив с котиками.
    Ответ написан
    Комментировать
  • Как настроить всплывающее окно при подключении к Wi-Fi?

    Spetros
    @Spetros
    IT-шник
    Вообще-то, большинство устройств при подключении к сети проверяют подключена ли эта сеть к интернету - это раз.
    Во-вторых, окно с рекламой может всплыть только в браузере, который еще нужно открыть. Просто так на неком абстрактном телефоно-планшето-ноутбуке-компьютере под управлением адроид-виндовс-айос-линукса окно с рекламой не появится.

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

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

    Наймите специалиста.
    Ответ написан
    Комментировать
  • Как лучше ограничить доступа к браузеру?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    Паранойя не излечима. При физическом доступе к ПК мало что поможет, кроме как шифрование всего диска.

    П.С. Вы сами-то можете взломать пароль на вход Windows?
    Ответ написан
    3 комментария
  • Насколько верна статистика по использованию языков программирования для веб-разработки?

    aen
    @aen
    Keep calm and 'use strict';
    Существуют три вида лжи: ложь, наглая ложь и статистика
    Ответ написан
    Комментировать
  • Как провести диагностику (ЛВС) локальной вычислительной сети?

    @throughtheether
    human after all
    Увеличивается нагрузка на CPU вплоть до 80%
    Какой процесс потребляет больше всего ресурсов? Поможет команда:
    show process cpu sorted

    Самое странное во всём этом что началось это после того как компания закупила моноблоки HP ProOne 600.
    Проблема в том, что я не могу выявить виноватого в этой ситуации, не знаю куда еще копать.
    Вот такой интересный тред на реддит (извините). Чтобы убедиться, что это ваш случай, подсоединитесь ноутбуком в порт в том же L2-домене (влане), что и моноблок и запустите на нем wireshark. Искать следует многоадресную рассылку IPv6 пакетов от моноблока (см. MAC-адрес источника). В качестве решение попробуйте обновить сетевой драйвер моноблока. Если не получится, задумайтесь о фильтрации IPv6-трафика, если этот протокол не используется. Или можете ограничить уровень многоадресного трафика:
    storm-control multicast level 0.5
    на интерфейсах, подключенных к конечным хостам. Значение порога может нуждаться в подборе.

    Пара замечаний не по теме вопроса:
    Version 12.1(26)E6
    Я конечно понимаю, работает - не трогай, но можно подумать и об обновлении ПО.
    Кроме того, трудно говорить о внятной диагностике без снятия соответствующих показаний - утилизации памяти, ресурсов CPU, интерфейсов (в т.ч. уровень широковещательного и многоадресного трафика), наличие ошибок/отброшенных пакетов, трафик на процессор (зеркалированный при помощи SPAN). Также задумайтесь о настройке control plane protection policy (ссылка).
    Ответ написан
    8 комментариев
  • Может ли веб-разработчик пользоваться OS Windows?

    Symphony
    @Symphony
    Если будете выполнять поставленную задачу да хоть с коробки с печеньками никто Вас не упрекнет.
    Ответ написан
    Комментировать
  • Ошибки доступа до сетевой папки на сервере?

    bk0011m
    @bk0011m
    Системный администратор
    А права на папку смотрели? Может они не наследуются и у вас просто нет прав на нее?
    И что будет если в нее пробовать войти через explorer а не cmd?
    Ответ написан
    2 комментария
  • Как получить данные из стандартных команд cmd.exe в своем приложении на C#, не вызывая подпрограммы?

    @mayorovp
    У вас путаница в мыслях... Во-первых, "подпрограмма" - это в C# синоним метода. Если вы используете winforms - то вы уже используете кучу подпрограмм :) А то, чего вы хотите избежать, называется "внешняя программа" или "дочерний процесс".

    Во-вторых, рефлексия возможна только в отношении программ на платформе .NET - а перечисленные вами программы являются нативными. Разумеется, рефлексия в их отношении невозможна. По той же причине бесполезно из декомпилировать - все равно вам надо будет писать то же самое на другом языке.

    В-третьих, ping, tracert и netsh не являются командами cmd.exe. Команды cmd.exe - это echo, if, call, set, goto, for и т.д., а то, что вы перечислили - это системные утилиты.

    Теперь по вопросу.

    ping. Имеется вот этот класс: msdn.microsoft.com/en-us/library/system.net.networ... Ни разу с ним не работал, но выглядит удобным.

    tracert. Используйте тот же класс, указав Ttl в PingOptions.

    netsh. Тут все сложнее. Дело в том, что эта программа - обертка для кучи разных настроек, находящихся в совершенно разных местах. Если вам нужно получать данные - то попробуйте поискать их в msdn.microsoft.com/en-us/library/system.net.networ... Если их там нет - гуглите. Главное - гуглите без ключевого слова netsh.

    etc. А вот тут все не просто сложно, а невозможно. Невозможно взять неизвестную заранее утилиту, и сделать то же самое, что она делает, не запуская ее при этом. Поэтому вам надо определиться - либо ваша программа умеет выполнять фиксированный список действий - либо ей можно передать любую команду, но она будет запускать дочерние процессы. Возможен и промежуточный вариант - есть действия, которые программа может выполнять сама, а для выполнения других будут запускаться дочерние процессы.
    Ответ написан
    Комментировать