Аналог fiddler для mac os
Несмотря на обманчивую простоту, Angry IP Scanner делает именно то, что и следовало ожидать, и он широко использует многопоточность. Это делает его одним из самых быстрых инструментов в своем роде. Это бесплатный мультиплатформенный инструмент, который доступен не только для Mac OS X, но и для Windows или Linux. Инструмент написан на Java, поэтому для его использования вам нужно установить модуль времени выполнения Java, но это в значительной степени единственный его недостаток. Этот инструмент не только пингует IP-адреса, но и дополнительно может запускать сканирование портов на обнаруженных хостах. Он также может преобразовывать IP-адреса в имена хостов и MAC-адреса в имена поставщиков. Кроме того, этот инструмент может предоставлять информацию NetBIOS о каждом отвечающем хосте, который его поддерживает.
2. IP Scanner for Macintosh
IP Scanner for Macintosh просканирует вашу локальную сеть, чтобы определить, какие IP-адреса используются, и идентифицировать все компьютеры и другие устройства в сети. Продукт бесплатен для использования в небольших домашних сетях до шести устройств, а платные версии Home и Pro доступны для более крупных сетей. Инструмент дает мощные результаты, но он прост и интуитивно понятен в использовании. Локальные сети сканируются автоматически, а настраиваемые диапазоны IP-адресов можно добавлять и сканировать вручную. IP Scanner for Macintosh позволяет настраивать результаты сканирования. После того, как устройство было идентифицировано, вы можете назначить ему собственный значок и имя, чтобы его было проще распознать. Инструмент позволит вам отсортировать список результатов по имени устройства, IP-адресу, MAC-адресу или отметке времени последнего посещения. Он также может дать вам обзор текущей сети или показать вам изменения с течением времени.Отображение результатов можно настраивать, и вы можете настраивать столбцы, размер текста, прозрачность рамки и многое другое. Двойной щелчок по устройству дает вам больше информации и позволяет настроить его внешний вид. Щелкнув правой кнопкой мыши на устройстве, вы можете запустить последовательность пинга или запустить сканирование порта.
3. LanScan
LanScan от Iwaxx доступен в магазине приложений Apple. Это простое приложение, которое делает то, что подразумевает его название: сканирует локальную сеть. Это бесплатный, простой и эффективный сетевой сканер только для IPv4. Он может обнаружить все активные устройства в любой подсети.
Этот продукт имеет несколько дополнительных функций. Например, он автоматически обнаружит настроенные интерфейсы. Также будет отображаться IP-адрес, MAC-адрес, имя хоста и интерфейсная карта, связанные с каждым обнаруженным IP-адресом. Он также обнаружит домены SMB, если они используются, и выполнит разрешение имени хоста, используя DNS, mDNS для устройств Apple или SMB для устройств Windows.
Покупка в приложения позволит вам обновить приложение до профессиональной версии, которая имеет только одну дополнительную функцию: она будет отображать полное имя хоста каждого обнаруженного хоста. Бесплатная версия будет отображать только четыре полных имени хоста и первые 3 символа из оставшихся.
4. Nmap/Zenmap
Используя Zenmap, все подробные параметры поиска могут быть сохранены в профиле, который вы можете вызвать по желанию. Инструмент также поставляется с несколькими встроенными профилями, которые можно использовать в качестве отправной точки и изменять в соответствии с вашими потребностями. Это может быть менее пугающим, чем создание новых профилей с нуля. Профили также управляют отображением результатов сканирования. Первая вкладка интерфейса показывает необработанный вывод основной команды nmap, в то время как другие вкладки показывают более понятную интерпретацию необработанных данных.
5. Masscan
Masscan претендует на звание самого быстрого сканера интернет-портов. Он может сканировать весь Интернет менее чем за 6 минут, передавая 10 миллионов пакетов в секунду. Хотя мы не подтвердили, что это правда, ясно, что это быстрый инструмент, хотя и текстовый.
Результаты, которые производит Masscan, несколько похожи на результаты nmap, которые мы только что рассмотрели. Тем не менее, он работает внутренне больше как scanrand, unicornscan и ZMap и использует асинхронную передачу. Основное отличие этого инструмента от других заключается в том, что он просто быстрее, чем большинство других сканеров. Но он не только быстр, но и более гибок, допускает произвольные диапазоны адресов и диапазонов портов.
Masscan настолько быстр, отчасти потому, что использует собственный стек TCP/IP. Его основным недостатком является отсутствие графического интерфейса пользователя, но это в значительной степени компенсируется невероятной скоростью инструмента.
6. ZMap
Инструмент не полагается исключительно на пинг для сканирования сетей. В настоящее время в нем полностью реализованы тестовые модули для сканирования TCP SYN, ICMP, DNS-запросов, UPnP и BACNET. Он также может отправлять большое количество зондов UDP.
7. Fping
Fping был создан как улучшение сравнению с пингом. Это похожий инструмент командной строки, но он совсем другой. Как и пинг, Fping использует эхо запросы ICMP чтобы определить если целевые хосты отвечают,на этом сходство заканчивается. В отличие от ping, Fping может вызываться со многими целевыми IP-адресами. Цели могут быть указаны в виде списка IP-адресов, разделенных пробелами. Утилите также может быть предоставлено имя текстового файла, содержащего список адресов. Наконец, можно указать диапазон IP-адресов или подсеть в нотации CIDR, например 192.168.0.0/24.
Fping является относительно быстрым, поскольку он не ожидает ответа перед отправкой следующего эхо-запроса, таким образом, он не теряет время ожидания не отвечающих IP-адресов. У Fping также есть много параметров командной строки, которые вы можете использовать. Поскольку это инструмент командной строки, вы можете передать его вывод другой команде для дальнейшей обработки. Этот инструмент может быть легко установлен на Mac OS X с помощью Homebrew.
8. Hping
Хотя Hping можно использовать в качестве инструмента сканирования IP-адресов, он может сделать гораздо больше. Инструмент имеет некоторые расширенные функции сканирования портов. Благодаря использованию нескольких протоколов его также можно использовать для базового тестирования сети. Этот инструмент также имеет некоторые расширенные возможности трассировки, используя любой из доступных протоколов. Это может быть полезно, так как некоторые устройства обрабатывают трафик ICMP иначе, чем другой трафик. Подражая другим протоколам, этот инструмент может лучше оценить реальную производительность вашей сети в режиме реального времени.
Разработчик Марио Хойос составил подборку инструментов для разработчиков всех уровней подготовки. Каждая из представленных программ или надстроек (например, для Chrome или VS Code) призвана облегчить работу по написанию и отладке кода.
- WhatFont — простой способ определить, какие шрифты использованы на понравившемся сайте, чтобы применить в собственных проектах;
- Pesticide — расширение для работы с тегом <div> и модификации CSS. Очень полезно при освоении блочной вёрстки;
- Colorzilla — точно определяет и копирует прямо в буфер обмена цвета с веб-сайтов, избавляя от необходимости подбирать соответствующий rgba-формат;
- CSS Peeper — инструмент для просмотра используемых на сайте цветов и цифровых объектов;
- Wappalyzer — позволяет узнать, какие фреймворки, системы управления контентом, инструменты аналитики и технологии использует сайт;
- React Dev Tools — полезное расширение для отладки приложений на React.js;
- Redux Dev Tools — средство отладки приложений, разрабатываемых с помощью Redux;
- JSON Formatter — упрощает чтение JSON с помощью сворачиваемых блоков, направляющих линий, подсветки синтаксиса, кликабельных ссылок;
- Vimeo Repeat and Speed — позволяет ускорить просмотр видео через сервис Vimeo для экономии времени. Полезен при просмотре видеоуроков.
- Auto Rename Tag — расширение для автоматического переименования HTML-контейнеров. При изменении открывающего тега автоматически изменяется и закрывающий;
- HTML CSS Support — поддержка CSS для HTML-документов с подсветкой синтаксиса и автодополнением кода;
- HTML Snippets — готовые фрагменты кода. В тандеме с набором плагинов Emmet способен значительно повысить продуктивность;
- Babel ES6/ES7 — добавляет подсветку синтаксиса в JavaScript Babel, упрощая ориентацию в коде;
- Bracket Pair Colorizer — подсвечивает открывающие и закрывающие скобки, что помогает легче находить границы блоков кода;
- ESLint — интегрирует ESLint в Visual Studio Code, проверяет и стиль кода, и потенциальные баги в процессе написания кода;
- Guides — добавляет вертикальные линии, которые помогают лучше ориентироваться во вложенности кода и не упускать скобки;
- JavaScript Console Utils — облегчает вывод отладочной информации в консоль;
- Code Spell Checker — простой инструмент проверки орфографии кода в стиле CamelCase;
- Git Lens — инструмент позволяет отслеживать, кто и когда внёс изменения в код;
- Path Intellisense — автоматически дополняет имя файла по мере его ввода в строку. Облегчает импорт из других файлов и навигацию по дереву файлов;
- Prettier — популярный плагин для автоматического форматирования кода и моментального приведения его к единообразному виду;
- VSCode-Icons — добавляет иконки в файловое дерево, что облегчает восприятие и поиск нужных файлов.
- Paw — конкурент Postman и Insomnia, дизайн которого повторяет интерфейс нативных Mac-приложений;
- Dash — более 200 комплектов документации, доступных в автономном режиме;
- Bear — не связанное напрямую с программированием красивое и удобное приложение для создания заметок и записей;
- Magnet — практичный в использовании менеджер окон, который можно приобрести за 99 центов. Незаменим при отсутствии второг монитора, если нужно работать с несколькими окнами одновременно.
- ConEmu — удобный и бесплатный эмулятор терминала для Windows, позволяющий работать с несколькими вкладками;
- Ditto — расширяет возможности стандартного буфера обмена и даёт возможность сохранять несколько объектов сразу;
- TouchCursor — программа для управления курсором и выполнения других действий с помощью горячих клавиш. Позволит как можно реже задействовать мышь;
- Cmder — по словам создателей, «Cmder — это программный пакет, созданный из чистого разочарования из-за отсутствия хороших эмуляторов консоли в Windows»;
- Directory Opus — альтернативный файловый менеджер, гораздо более комфортный и функциональный, чем стандартный инструмент Windows;
- Zeal — приложение, включающее браузер API-документации и примеров фрагментов кода с возможностью поиска (аналог Dash для Mac).
Эти программы и расширения способны помочь в оптимизации рабочего процесса. Всегда есть несколько способов выполнить ту или иную задачу, однако не стоит устанавливать все до единого инструменты, которые попадаются на глаза: для начала имеет смысл освоить уже имеющиеся.
Что пишут в блогах
Онлайн-тренинги
Что пишут в блогах (EN)
Разделы портала
Про инструменты
Автор статьи: Артем Холевко, Максилект.
Текст подготовлен по материалам внутреннего семинара Максилект.
Снифферы - это инструменты, позволяющие перехватывать, анализировать и модернизировать все запросы, которые через них проходят. Они полезны, когда из потока нужно извлечь какие-либо сведения или создать нужный ответ сервера. Так можно проводить модульное тестирование продукта, в котором есть и бэк, и фронт, и разные команды со своей версионностью.
В этой статье я расскажу об основных функциях снифферов, которые могут быть полезны QA. Попробую не вдаваться в теорию, а сфокусироваться на практике. Наиболее популярными представителями анализаторов трафика сейчас являются WhireShark, Fiddler и Charles Proxy. Об удобстве интерфейсов и функционале каждого из них можно рассуждать долго, учитывая все плюсы и минусы. Но здесь я отдал предпочтение Charles, поскольку сам им активно пользуюсь. Буду рассказывать на его примере.
Что собой представляет Charles Proxy
Главное преимущество Charles Proxy и снифферов в целом - возможность просмотра трафика, в том числе с мобильных устройств, что значительно облегчает работу тестировщика клиент-серверных мобильных приложений.
Первичная настройка
При тестировании мобильного приложения
Charles Proxy необходимо запустить на компьютере, который находится в той же локальной подсети, что и мобильное устройство с тестируемым приложением.
Как правило, соединение настраивается по Wi-Fi. В настройках Wi-Fi мобильного устройства в качестве proxy-сервера надо указать IP-адрес компьютера и стандартный порт инструмента 8888 (пароль остается пустым).
IP-адрес компьютера можно узнать через командную строку (ipconfig) или в самом Charles Proxy (Help -> Local IP Address).
Этот же адрес есть в инструкции по подключению, доступной в Help -> SSL Proxying -> Install Charles Root Certificate on mobile device remote browser.
В Android установленные сертификаты верифицируются в Settings -> Trusted Credentials на вкладке User.
Главное отличие в настройках для этой ОС в том, что с Android 6.0 и выше в Androidmanifest надо добавить специальную конфигурацию, позволяющую просматривать защищенный трафик. На продакшене эта конфигурация убирается из соображений безопасности.
При тестировании приложения на ПК
В этом случае дополнительные сертификаты нужно установить на сам ПК. Для скачивания и установки нужна ссылка из Help -> SSL Proxying -> Install Charles Root Certificate.
Сертификат устанавливается в доверенные корневые центры.
Два слова об интерфейсе
Интерфейс Charles Proxy прост. Слева - список перехваченных запросов, справа - детали.
В списке запросов есть две основные вкладки - Structure и Sequence.
В первом случае запросы рассортированы по хостам-папкам. Наведя на любой из них, можно получить всю информацию о количестве запросов к этому корневому хосту, доле удачных, таймингах, размерах и т.п. Фактически, здесь представлена вся та же информация, которую можно получить из панели разработчика в браузере. Выбрав конкретный URL, можно увидеть код ответа, версии протоколов, контент и т.п. Тело запроса, заголовки, cookie (если есть) можно посмотреть в разных форматах - даже в HEX.
С помощью контекстного меню запроса можно настраивать блокировки, повторять и изменять запросы. На этом мы еще остановимся.
На вкладке Sequence запросы выведены по времени в виде настраиваемой таблицы. Видно, когда начался запрос, сколько он длился, его размер, статус и т.п. Наведя на конкретную строку, мы получим ту же информацию о теле, заголовках и т.п.
Если запросов на экране слишком много, с помощью панели инструментов их можно очистить или вообще остановить перехват. Там же есть возможность включить и выключить троттлинг (подробнее об этих функциях расскажу позже). Базовая настройка каждой из функций осуществляется через меню, а кнопки панели управления выступают своего рода тумблерами On / Off.
Фильтрация
В Charles Proxy очень много вариантов фильтрации запросов.
Начнем с вкладки Structure. Самое примитивное - скопировать хост и вставить в поле Filter. Так мы увидим только запросы с этого хоста. Примерно того же результата можно добиться, если в контекстном меню хоста выбрать Focus. Остальные запросы будут собраны в Other Hosts. Если при этом перейти на закладку Sequence и отметить настройку Focused, то в списке окажется информация только о тех запросах, которые были выбраны на вкладке Structure.
На вкладке Sequence есть аналогичный фильтр.
Charles Proxy умеет работать с регулярными выражениями. Для этого на вкладке Sequence выбираем Settings и отмечаем пункт Filter uses regex. И вписываем в поле поиска элементарную регулярку.
Например, вот так
можно выбрать все запросы, в которых в начале имени хоста находится четыре буквы, а потом идет точка.
Там же можно включить Autoscroll списка запросов или указать максимальное количество строк.
В Charles Proxy можно фильтровать не только отображение, но и запись запросов. Для этого надо зайти в Proxy -> Record settings и задать условия на одной из вкладок - Include или Exclude - так мы включаем или выключаем запись запросов данного хоста.
Похожего результата можно добиться, используя блок-листы. Включить хост в блок лист можно из контекстного меню (команда Block list) или через добавление в Tools -> Block list, где следует отметить Enable Block list.
Блокируемый запрос можно прервать двумя способами (подходящий надо выбрать в настройках):
вернуть ошибку 403.
От выбранного способа блокировки зависит, какой ответ мы получим.
Можно провести эксперимент. Включим наш тестовый стенд в Block list, выбрав простой сброс соединения. С помощью контекстного меню запроса повторим его (команда Repeat) и получим такой ответ:
Статус запроса - Failed, а в описании ошибки указано, что Connection dropped.
Просмотр SSL-трафика
Если ранее мы успешно установили SSL-сертификат, для просмотра зашифрованного трафика остается только включить SSL proxying для нужного хоста в самом Charles Proxy. Это можно сделать через контекстное меню конкретного хоста.
Чтобы не включать каждый хост, можно зайти в Proxy -> SSL Proxying settings и на первой вкладке SSL Proxying включить Enable SSL Proxying.
Аналогично настройке фильтров на вкладках Include и Exclude можно добавить или исключить конкретные хосты. Если списки на этих вкладках не заполнять, по умолчанию мы будем читать трафик со всех хостов.
Брейкпоинты
Наверное, одна из самых популярных функций Charles Proxy - это настройка точек остановки, которые позволяют перехватывать запросы.
Установить Breakpoint можно из контекстного меню запроса. После этого все аналогичные запросы будут перехвачены. Их можно будет просматривать и редактировать.
Чтобы проверить, как это работает можно использовать повтор запроса (Repeat из того же контекстного меню). Запрос перехватывается, его можно редактировать.
В принципе, изменить можно все - от header до авторизационного токена. Когда редактирование будет закончено, можно выбрать Execute и в Charles Proxy появится повторный запрос, который и отправится на сервер, а потом вернется с ответом. В этот момент можно будет посмотреть и отредактировать ответ, который получит приложение - появится поле Edit response.
Редактируя запрос, можно ввести заведомо некорректные данные и посмотреть, как ответит сервер. Также можно отредактировать ответ (внеся некорректные данные) и использовать его для тестирования фронта. Можно оставить корректные данные, но изменить код - посмотреть, как фронт воспринимает информацию, переданную через API.
Map remote
Еще одна популярная функция Charles Proxy - подмена ответа сервера. Так мы можем ответ одного хоста подменить на ответ другого. Настраивается это через Tools -> Map Remote.
Обратите внимание, в левом нижнем углу есть кнопки Import и Export. Они позволяют обмениваться настройками - переносить их с одного рабочего места на другое.
Например, мы можем подменить контура. Я буду посылать запрос на dev-контур, но ответ хочу получить с тестового стенда. Для этого создаем новый пункт в списке Map Remote Settings. Map From - куда изначально был запрос; Map to - откуда берем ответ.
Эта функция может быть полезна, если мы поймали ошибку на продакшене, например при загрузке таблицы, а информации в dev-контуре для полноценного тестирования не хватает. Вместо того, чтобы перезаполнять информацию в каждом контуре, мы можем скопировать ответ сервера в нужный контур и посмотреть, как он ведет себя после исправления ошибки.
Map Local
Главное отличие Map Local от предыдущей функции в том, что замена осуществляется не на ответ другого сервера, а на содержимое локального файла. Настройки выглядят точно также, но вместо второго сервера мы указываем локальный путь к файлу с ответом.
Rewrite
Функция Rewrite может быть полезна, если вам нужно переписать данные, которые отправляются в Charles Proxy. В отличие от простого редактирования Rewrite позволяет задать правила изменения и работать в автоматическом режиме. Можно изменять и добавлять заголовки, искать и заменять текст в теле запроса или ответа. Можно даже менять статус ответа.
Rewrite удобно использовать, когда нужен готовый ответ, но мы не хотим каждый раз ставить брейкпоинт и вписывать его в ручную. Редактируя таким образом ответ, фактически, мы ставим заглушку - можем имитировать работу сторонних партнеров. Честно говоря, в Postman-е эта функция реализована более интуитивно. Но раз мы говорим про Charles, не будем отходить от его примера.
Настроить это можно через Rewrite settings, доступные в контекстном меню. Единственный недостаток инструмента в том, что каждое правило замены прописывается отдельно.
Throttling
Charles Proxy помогает тестировать сервис на плохой связи, искусственно ограничив через настройки пропускную способность канала. Эта функция полезнее всего для тестирования десктопных приложений, поскольку на мобильных устройствах качеством связи можно управлять через панель разработчика.
Настраивается функция через Proxy ->Throttling settings.
Ограничения можно включить либо для хостов из списка, либо для всех перехваченных запросов. Из коробки есть несколько пресетов, но все параметры связи можно корректировать вручную. Мне по большей части хватает базовых настроек.
Repeat Advanced
Хотя полноценное нагрузочное тестирование лучше проводить в специальных инструментах, Charles Proxy имеет одну базовую настройку, которая помогает закрыть минимальные потребности. Функция Repeat Advanced (доступная через контекстное меню перехваченного запроса) позволяет нужное количество раз повторить тот же запрос. После настройки откроется отдельная сессия, где будут видны детали каждого из запросов.
Отмечу, что Charles Proxy платный. Можно использовать триальную версию. Но раз в 5-7 минут поверх него будет отображаться всплывающее окно с версией, а раз в 30 минут он будет выключаться, при этом сессии не сохраняются. Решайте сами, помешает ли это вашей работе.
В целом Charles Proxy - это хороший инструмент. Не сказал бы, что он сильно отличается от того же Fiddler-а, но на мой взгляд он больше заточен под MacOS, поскольку пришел на эту платформу раньше. Хотя сейчас уже нельзя сказать, что какой-то сниффер принципиально лучше или хуже. Все они решают примерно одни и те же задачи сходным образом.
Когда начнет Fiddler, сервис прокси-сервера будет запущен и прослушивает порт 8888. Этот метод может захватить запрос на свой прокси-сервер: например, браузер на виртуальной машине, запросы на удаленные хосты и многое другое. Например: добавьте браузер виртуальной машины в Fiddler, и множественные браузеры виртуальных машин могут делиться Fiddler, который может достичь своих регулярных функций в Fiddler.
1) Главное меню Инструменты - Fiddler варианты
3) Установите прокси-сервер браузера на IP-хост машины, где находится Fiddler, где браузер может быть на виртуальной машине, другой компьютер, мобильное устройство .
Примечание. Настройки прокси под Windows и Mac, где браузер изменяет меню прокси-сервера, вы можете открыть интерфейс.
Во-вторых, Чарльз (V3.5.2, Mac & Windows)
Чарльз - это другое программное обеспечение капитана (все зарядки, трещины) под MAC OS и Windows, а Fiddler, преимущество в том, что вы можете настроить скорость восходящей линии связи, внешний прокси, обратный конфигурацию прокси-сервера и разрешать данные протокола AMF .
Эта функция похожа на Fiddler, но также открывает службу прокси-сервера при запуске, порт монитора по умолчанию 8888, функция реализации в основном похоже.
Если вам нужно изменить порт слушателя, вы можете изменить в соответствии со следующими шагами:
1) Главное меню Proxy - настройки прокси
2. External Proxy
Эта функция может передавать запрос на Charles на другие прокси-серверы (например, Fiddler), который требует разработки двух программных программ в особых случаях.
1) Главное меню прокси - внешние настройки прокси
2) Как показано на рисунке, IP машины, где находится Fiddler, соответственно, хозяина своего слушателя:
Прилагается: Чарльз (версия Mac) Некоторые обычно используемые учебники
1) Главное меню инструменты - не кэширование, не открывайте кэширование
2) Как показано ниже. На главном интерфейсе правой кнопкой мыши ответ, выберите «MAP Remote» или «MAP Local» (запрос на замену локального файла). Возьмите «Map Local» в качестве примера:
3) Выберите локальный файл в интерфейсе, сохраните конфигурацию:
4) Обновить страницу, проверьте, успешно ли замена
Инструменты главного меню - Map Local, см. Рисунок ниже. Добавьте новые правила или удалите существующие правила замены, сделайте эффективные / не вступать в силу, а не открывать / тесные правила замены для глобально.
6) Обратите внимание, что Charles может быть непосредственно заменен с помощью метода 404 500 или тому подобным непосредственно к коду состояния запроса. Однако вы можете косвенно имитировать 404 или 500 адресов на любой строке с помощью адреса удаленного замены карты.
2. Имитация медленной скорости сети
Главное меню Прокси - настройки дроссельной заслонки, вы можете выбрать встроенную настройку полосы пропускания или пользовательскую настройку, вы можете нажать на главный интерфейс после сохраненияКнопка включена / отключает функцию медленной скорости сети.
3. Следуйте по гистограмме, чтобы просмотреть все запросы
Главный интерфейс выбирает папку сайта слева, выберите вид «Диаграмма» справа, чтобы увидеть все запросы. Вы можете просмотреть, проанализировать «Заказать заказ», «Запросить размер данных», «Время», «Тип MIME» классификация.
Читайте также: