• Какой voip шлюз на 8 fxs лучше?

    Основная проблема может возникнуть с распознаванием DTMF ("тоновый набор"), т.к. далеко не всегда получится передавать тон в inband к оператору, а значит шлюз должен будет распознать символы и передать их получателю. Крови может попить много (а может и не попить вовсе).

    Ещё могут быть проблемы с обработкой эха (но это уже редкость) и с отработкой режима пред-ответа (когда сначала проключается канал только в одну сторону, к примеру, в таком режиме работают всякие услуги "замени гудок" и некоторые автоответчики), всё это нужно будет настраивать с учётом особенностей шлюзов и оператора.
  • Есть ли альтернатива плагину HTTPFox для Firefox?

    vp7
    @vp7 Автор вопроса
    Alex Wells, вот сейчас столкнулся с проблемой - надо посмотреть как происходит аутентификация на одном сайте.
    Вкладка "сеть" в дебаггере это хорошо, но сайт в процессе логина делает несколько редиректов подряд, а в "сети" отображается информация только по последнему запросу :(
    Вроде и есть встроенный инструмент от разработчика, а на самом деле - нет его :(
  • Как можно собирать трафик (traffic sniffer) с удаленных linux серверов?

    vp7
    @vp7 Автор вопроса
    TOParh: Нужно смотреть содержимое TCP пакетов от определённых клиентов (IP адресов) во время диагностики проблем. Тут только снятие дампа, других вариантов нет.
  • Как отправить правильный ответ на сервер?

    kamisarlapsha: Охохох ... давайте тогда с самого начала: в чём цель отправки промежуточных вариантов ответа на сервер, да ещё и хитрым POST'ом?
    И самое главное - зачем пользователю давать подсказку с правильным ответом прямо в коде HTML'ки? :)

    По реализации - можно, к примеру, использовать форму + jQuery (естественно, библиотеку нужно сначала подгрузить):
    <form method="get" action="/poll.php" id="myForm">
    <input type="hidden" name="uid" value="_тут_уникальный_ID_пользователя/сессии"/>
    <input type="hidden" name="qNum" value="номер вопроса по порядку"/>
    <input type="hidden" answer="сюда кладём текущий ответ пользователя" id="answerID"/>
    </form>
    <script type="text/javascript">
    function doSubmit(val) {
     $("#answerID").val(val);
     $(#myForm").submit(); 
    }

    эта форма будет использоваться для навигации, метод GET - как самый простой способ дать пользователю нажать на кнопку "back" и вернуться к предыдущему вопросу.

    Далее в коде формы вы пропишете:
    <a onclick="doSubmit(1)">Ответ #1</a>
    <a onclick="doSubmit(2)">Ответ #2</a>


    Если хотите сразу пользователю сообщать верный ответ - ok, в вызове doSubmit можно добавить вывод окна перед вызовом $(#myForm").submit();
    Но в этом случае особо хитрые пользователи смогут подсмотреть правильный ответ в HTML'ке.
    Если не хотите давать им такой возможности - правильность ответа должен определять сервер.

    При каждом вызове странички ваш web сервер будет отдавать страничку со следующим вопросом, сможет сохранять ответ пользователя и т.д. и т.п.

    Если же хотите сделать эту страничку локальной (без WEB сервера) и доверяете пользователям (к примеру, если пользователь смог разобраться в коде страницы, то это автоматически даёт ему высший бал), то можно все вопросы/ответы сохранить прямо в страничке, в виде массивов JavaScript'а.
  • Как можно собирать трафик (traffic sniffer) с удаленных linux серверов?

    vp7
    @vp7 Автор вопроса
    Спасибо, в таком ключе не подумал.
    Собрал небольшой тестовый стенд, в принципе работает, но есть несколько неудобных для меня моментов:
    1. В Windows версии в GUI необходимо при каждом запуске регистрировать Remote Interfaces, при перезапуске информация теряется (возможно, проблема в моём компьютере?), при регистрации цепляются сразу все возможные интерфейсы (у меня подцепились eth0, lo0 и usb1, который совсем уже не сетевой интерфейс)
    2. В меню Capture -> Options все подобные зарегистрированные становятся выбранными по умолчанию (двойной клик по "capture all interfaces" решает проблему, но всё-же)
    3. Если на сервере используется firewall, то начинаются танцы с бубнами - rpcapd использует как основной порт (на который принимает коннекты с wireshark'а), так и дополнительный рандомный (!!!) порт для запуска capture сессии.
    4. Не особо большой недостаток, но всё-же - нельзя на уровне сервера жестко задать разрешенный фильтр (полезно с точки зрения безопасности).

    Пока останусь на своей самописной тулзе,... у которой тоже есть огромный недостаток с точки зрения firewall'ов, но в моём случае это не проблема - трафик посылается по UDP, а значит, у серверов должна быть возможность достучаться по клиента (т.е. отсутствие NAT'а по пути). Никто, конечно, не мешает использовать различные схемы NAT Traversal, но это уже становится заметным усложнением.
  • Как можно собирать трафик (traffic sniffer) с удаленных linux серверов?

    vp7
    @vp7 Автор вопроса
    А чем тут поможет NetFlow? Это скорее средство подсчёта/учёта трафика, а не его анализа.
  • Как можно собирать трафик (traffic sniffer) с удаленных linux серверов?

    vp7
    @vp7 Автор вопроса
    Сила WireShark'а в том, что он "из коробки" может декодировать множество сложных бинарных протоколов и он де-фактом стал стандартным средством диагностики (и, что более важно, может использоваться как независимое средство диагностики, которому доверяют обе стороны) обмена данными между разными системами.

    ElasticSearch тут не поможет - его сила в сборе огромных массивов данных и поиска по ним.
    Утилитка уже решает задачу - собирает трейсы на целевой хост, просто хотелось найти уже готовый стандартный инструмент.