• Какие есть аналоги tcpdump с поддержкой отлова пакетов по шаблону данных?

    @throughtheether
    human after all
    Мне необходимо отсеивать пакеты по определенному шаблону (например, с определенными начальными двумя байтами данных). Погуглив, ничего не нашел по поводу отсеивания трафика по шаблонам данных в tcpdump.
    Посмотрите здесь, 11 страница. Вкратце, релевантный синтаксис Berkeley packet filter таков: protocol[start:count]=0xHEXTEMPLATE
    пример для "GET " в начале HTTP-сообщения (точнее, в начале поля данных TCP):
    tcp[20:4] = 0x47455420

    Если в tcpdump нет такой возможности, подскажите, пожалуйста, альтернативные снифферы, желательно не тяжелые и без гуя (для использования на сервере с CentOS).
    В tcpdump такая возможность (если я правильно понял вашу проблему) есть, но рекомендую обратить внимание на tshark, консольный вариант wireshark. Для захвата трафика они используют bpf-фильтры, фильтры для отображения трафика у них можно настроить более гибко, на мой взгляд.
    Еще один вариант решения вашей проблемы - захватить весь трафик (или с грубой фильтрацией), если это возможно (т.е. интенсивность трафика невелика) при помощи tcpdump и отфильтровать при помощи фильтров отображения (display filters) в wireshark/tshark.
    Ответ написан
    Комментировать
  • Как правильно хранить все ошибки в проекте?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать
  • Можно ли одновременно изучать несколько языков программирования?

    risik
    @risik
    Программист
    Никто не может Вам гарантировать, что Вы не окажетесь в психушке, не зависимо от того, будете Вы их изучать или не будете :)

    По делу. Если языки отличаются друг от друга существенно, как указанные Вами, то переключаться между ними будет несложно. Сложнее было бы, если бы Вы изучали, скажем, C++, C# и Java.

    Это будет тем более не сложно, если Вы уже умеете программировать. Хотя бы на каком нибудь одном языке. А вот если все три для Вас, это программирование с нуля, то я бы поостерегся.
    Ответ написан
    Комментировать
  • Существуют ли SSH-proxy для логирования?

    Попробуйте ELF библиотеку snoopy (snoopy logger). Есть готовые пакеты под большинство rpm/deb-систем.
    Логирует все исполняемые консольные команды, все запускаемые скрипты и тд. Обойти можно только отключив прелоад библиотеки (собственно надо иметь права суперпользователя).
    Вывод в логах крайне подробный и информативный. Пример:
    Aug 10 06:30:01 ctrx snoopy[15967]: [uid:0 sid:15967 tty: cwd:/root filename:/usr/bin/scp]: scp www-data@***********:/home/www-data/downld02.txt /var/www/ctrx.com/collect/downld02.txt
    Aug 10 06:30:01 ctrx snoopy[15968]: [uid:0 sid:15968 tty: cwd:/root filename:/srv/www/forum.ctrx.com/bin/collect-stats]: /srv/www/forum.ctrx.com/bin/collect-stats
    Aug 10 06:30:01 ctrx snoopy[15966]: [uid:0 sid:15966 tty: cwd:/root filename:/srv/www/www.ctrx.com/bin/process-collect-data]: /srv/www/www.ctrx.com/bin/process-collect-data
    Aug 10 06:30:01 ctrx snoopy[15969]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/sync-video]: /usr/bin/sync-video
    Aug 10 06:30:01 ctrx snoopy[15971]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/basename]: basename /usr/bin/sync-video
    Aug 10 06:30:01 ctrx snoopy[15973]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/flock]: flock -n 9
    Aug 10 06:30:01 ctrx snoopy[15974]: [uid:0 sid:15969 tty: cwd:/root filename:/usr/bin/rsync]: rsync -a -L --log-file=/var/log/sync.log www-data@**********:/srv/video /var/www/ctrx.com/alias.ctrx.com/docs/projects/ctrx.com/
    Aug 10 06:30:02 ctrx CRON[15963]: pam_unix(cron:session): session closed for user root
    Aug 10 06:30:02 ctrx snoopy[15977]: [uid:106 sid:44096 tty: cwd:/ filename:/bin/cat]: cat /proc/diskstats


    Как видно логируется точная дата, хост, uid, sid, терминал, pwd, команда

    Далее можете уже на хосте настроить syslog-ng/rsyslog что бы отделять логи snoopy (по умолчанию летит все в auth.log) и если есть необходимость пересылать по tcp/udp на коллектор логов для дальнейшего анализа и хранения

    Лично я пытаюсь его совместить со стандартным auth, authpriv и разделять по host/user что бы видеть кто когда логинился и что выполнял, а так же отсеять мусор от служебных пользователей типа zabbix (от zabbix-agentd), который выполняет кучу команд и в принципе не нужен в логах

    P.S. Кстати благодаря этой библиотеке многое узнал о процессах протекающих в разных системах (Debian 6,7, Arch, RH5, Ubuntu Server 12.04/14.04) без моего ведома, о их "скрытой жизни". Особенно поразила Ubuntu Server в плохом смысле.
    Еще был найден баг в Debian 6 в скриптах bash_completion. В Wheezy уже починили.
    Ответ написан
    Комментировать
  • Что пишется в файле hostname?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Every GNU/Linux system has a hostname, whether you like it or not. A system's hostname usually has a corresponding entry in the domain name system (DNS), but it doesn't necessarily have to. The hostname is the name that programs such as mail and web servers use to identify the system that they are running on. Many of these programs will issue warnings, or in some cases completely fail to run if the hostname is not set correctly.


    По сути это имя компьютера в сети.
    Ответ написан
    Комментировать
  • Можно, ли на Delphi, или C++ способ отображать цифры на иконке задач Windows?

    EXL
    @EXL
    Энтузиаст
    С использованием фреймворка Qt эта задача становится тривиальной. Во-первых, можно сделать "в лоб" и перерисовывать иконку тогда, когда это нужно:

    MKgjNiO.gif
    Ссылка на исходный код-пример.

    Но правильнее использовать специальные платформозависимые классы для Windows, которые специально предназначены, например, для отображения прогресса на кнопке программы или overlay-иконки, которую можно генерировать собственными силами.

    YjbMHvz.gif
    Ссылка на исходный код-пример.
    Ответ написан
    Комментировать
  • Возможна ли запись данных со спутника?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Технически - возможно.
    Но для этого надо иметь свой спутник.
    Есть например компания SkyBox www.skyboximaging.com давеча купленная Google за 500m

    Но надо понимать - что оптика спутника захватывает в каждый конкретный момент времени очень небольшой участок Земли. Понятная аналогия - Вы смотрите в мощный телескоп с обзорной площадки. Теоретически можно увидеть что угодно. Практически - вы смотрите в чьё то конкретное окно.
    Ответ написан
    Комментировать
  • Возможна ли запись данных со спутника?

    Alexufo
    @Alexufo
    противоречивый, сложный, весь компьютерный.
    Сейчас вам наши фсбешнички все расскажут.
    Ответ написан
    Комментировать
  • Как сделать из подсветки мыши визуализатор музыки?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Берете сабвуфер. Обклеиваете его динамик (дырочку откуда басы идут) фольгой. Фольга должна быть немного свободна. Светите мышкой на фольгу -- наблюдаете сказочные переливы в такт музыки. Эффект усиливается если делать это в темноте в безлунную ночь.

    И заметьте, никакого ПО, никакой модификации мышки. Мышка может быть любой. И даже можно фонарик вместо мышки, или сотовый, или свечку. В общем универсальное решение.

    А если конкретно -- не страдайте дурью. Спасибо.
    Ответ написан
    Комментировать
  • Ошибка в простом коде?

    Если вы про цикл for внутри функции f, то конечно он всегда будет считать одно и то же S, просто потому что при i = 0, вы считаете n = 1, далее y = 0 и соответственно Y = 0 отсюда и для всех дальнейших итераций цикла, соответственно вы к S всегда прибавляете 0, т. е. S независимо от числа итераций == 1.
    Ответ написан
    21 комментарий
  • Существует ли ПО только под Win7 Prof?

    @DancingOnWater
    Различия между win7home premiuim и win7 professional есть.

    Чисто теоретически возможна ситуация, когда с одной стороны есть какая-то железяка, под которую дрова есть только на win7 и прога использует EFS и\или отжирает памяти более 16Гб
    Ответ написан
    Комментировать
  • Какие интерактивные лекции по программированию вы можете посоветовать?

    Немного сарказма:
    "Какие интерактивные лекции по работе молотком вы можете посоветовать?
    Существует множество площадок для обучения, на некоторых я видел такие уроки, где делаются вещи, которые не стыдно потом на полку поставить. Может быть вы знаете, где накопать пару таких уроков? Желательно с описанием изделия и технологий которым они обучают.
    Спасибо."
    Нельзя научить работе молотком с помощью какого-нибудь курса.

    Хотите научиться берите и делайте что-нибудь. То есть выберите существующий проект и попробуйте его повторить, методично решая одну задачу за другой. Это будет реальное обучение.

    А все эти уроки просто трата вашего времени.
    Ответ написан
    Комментировать
  • А вы знаете максимальный размер фс ext4?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Мне кажется что спрашивать на собеседовании надо вопросы которые либо заставляют задуматься, либо знание ответа на них критически важно.
    Знать что на FAT32 максимальный размер файла 4Gb - когда то было критически важно.
    Знать отличия myisam от innodb - важно для разработки итд.
    Подумать про задачу которая требует знания каких то паттернов - аналогично.

    А вот знание что максимальный размер ext4 260 - не несет никакой практической пользы и легко получается 1 минутой в гугле.
    Ответ написан
    3 комментария
  • Как создать блок с соотношением сторон 16:9 на css?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Ответ написан
    Комментировать
  • Как определить уровень модели OSI протокола?

    @throughtheether
    human after all
    External Data Representation
    Representation
    presentation

    Здесь подтверждение.

    все-таки часто спрашивают:
    Мне, например, трудно воспринимать как инженера с практическим опытом человека, который слишком серьезно относится к семиуровневой модели.

    Это вообще можно определить по каким-то критериям
    Зачем? Что это даст? XDR - протокол шестого уровня, и что из этого следует? Если цель - пройти собеседование, то проще выучить популярные варианты. Я думаю, что если очень долго всматриваться в это наследие 70х (семиуровневую модель), то, вероятно, некую логику можно узреть. Какое это имеет применение на практике, я не знаю. Я считаю, что современные стеки протоколов (HTTP over TCP over IPv4 over Ethernet) яснее описываются 4-уровневой моделью TCP/IP. Я, конечно, могу предположить, что в редких случаях (X-стек) модель OSI внятно отображает стек протоколов и дает какие-то важные следствия, применимые на практике. Жаль, я с такими случаями не встречался.
    Ответ написан
    2 комментария
  • Содержимое книг по программированию, где практика?

    @lookid
    Читаю правила ПДД, нигде не наблюдаю, как лихачить в пробках. Читаю учебник по матанализу/теорверу, нигде не наблюдаю практики прохождения собеседований и гугл. Читаю учебник по машиностроению, нигде не наблюдаю практику "создание ракет на дому". Читаю учебник оригами, нигде не наблюдаю, как стать чемпионом мира по оригами. Тут расчет идет на то, что учебник дает академические/теоретические знания. А практику проводит преподаватель.
    Ответ написан
    2 комментария
  • Laravel 4. За какой срок можно создать проект "Каталог ресторанов + бронирование"?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    если подходить с толком, часов 100-160 на изучение Laravel и часов 160-1000 на реализацию. Такой разброс потому что хз что вы собираетесь делать.
    Ответ написан
    2 комментария
  • Регулярное выражение - как выбрать все после 3-го символа?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    ну если очень хочется
    ~(?:[^,]+,){3}\s?(.+)~
    но это извращение я считаю
    Ответ написан
    Комментировать
  • Где ошибка в запросе sql?

    @iamnothing
    Если у вас вот так будут записи:
    SELECT op.parcel_cn, op.id
    FROM objects_process AS op 
    WHERE op.status IS NULL

    И вот так будут записи:
    SELECT op.parcel_cn, op.id, o.area_value 
    FROM objects_process AS op 
    JOIN objects_copy AS o 
      ON op.parcel_cn = o.parcel_cn

    То значит, что у вас пустое множество строк при пересечении двух условий:
    ON op.parcel_cn = o.parcel_cn и
    WHERE op.status IS NULL т.е. нет таких записей, которые бы удовлетворяли сразу обоим условиям
    Ответ написан
    3 комментария
  • Как правильно передать информацию через com порт?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Кроме упомянутых @pi314 настроек порта (которые тут, скорее всего, ни при чём: при неправильном бод-рейте ничего осмысленного, обычно, получить не удаётся) есть ещё 100500 параметров терминала доступных для изменения через stty. Среди них есть, например, локальное эхо или вставка дополнительных CR перед LF. При обмене бинарными данными терминал стоит перевести в raw-режим (stty -F <device> raw).
    Ответ написан
    Комментировать