Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
xiki / docs / sniffer.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
16 lines (12 sloc) 5.69 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.
Зачастую разделяют понятие на две составляющие:
«Как это меня взломали?» 1 урок — сниффер
- Сниффер — это скрипт, размещенный на каком-то сервере, используемый для перехвата важных данных (например cookies).
- Сниффер — это программа или устройство, которое пропускает через себя (участвует в процессе) весь трафик компьютера или нескольких компьютеров/устройств. Рассмотрим более подробно.
Примеров такого рода скриптов в сети очень много. Один из них размещен на сайте Damagelab Очень часто использовались ранее следующим образом: На сайте находился способ отправки админу или пользователям сообщения с Java-script кодом внутри. Скрипт вызывал сниффер и передавал ему, в качестве параметра, содержимое cookies. Сниффер аккуратно записывал пришедшие данные.
Было деление на умные и простейшие снифферы. Простейшие — сохраняли данные, и либо ничего не выдавали в ответ либо показывали какую-то картинку. Умные снифферы производили ряд манипуляций. От попытки в контексте открытой страницы совершить какие-то действия по-средствам java-script, либо генерировали что-то уникальное в ответ, тем самым уменьшая настороженность пользователя.
Программы-сниферы чаще всего внедряются на компьютер пользователя или устанавливаются специально. Примерами легальных снифферов являются Wireshark, ettercap. Используются для мониторинга трафика и анализа проходящих пакетов. Часто используются сетевыми администраторами занимающимися сетями или настройкой оборудования.
Снифферы-нелегалы — это небольшие утилиты направленного действия. Чаще всего используются разработки основанные на более низких языках программирования таких как c, c++, asm, fasm.
Такие снифферы анализируют трафик, проходящий через сетевые устройства/соединения, выделяют из общего потока данных интересующие владельца блоки и отправляют их на гейт (скрипт размещенный на другом сервере), в irc канал, jabber контакт или др. В 90% случаев такое ПО используется для сбора логинов и паролей к ftp/smtp/pop/imap аккаунтам. Достаточно запустить на компьютере любое ПО, использующее данные протоколы, и произвести коннект с нужным сайтом/сервисом. В процессе работы программы происходит обмен данными, которые перехватываются сниффером. Из данных берется логин и пароль и отправляется на гейт.
Работа с программой-сниффером WireShark (Work with sniffer program WireShark)
Данный тип снифферов является довольно редким. Чаще всего такие снифферы используются специалистами по сетям, магистральщиками, кабельными операторами и т.д. Являются мощным средством анализа трафика т.к. имеют специфическое ПО и позволяют пропускать через себя большие потоки информации. Самым ярким примером подобного сниффера является СОРМ.
Сорм используется спец-службами для проведения анализа больших потоков данных и вычленения из общего потока ключевых слов. При нахождении такого слова или сочетания в трафике происходит информирование уполномоченного лица о совпадении и передача ключевых данных. От кого шло, кому шло, время, и дополнительные технические данные.
Источник: github.com
Что такое сниффер
Сниффер – анализатор трафика, способный перехватывать информацию, предназначенную для других узлов. Снифферы могут как кратковременно забирать информацию, так и захватывать несколько байтов пакета и даже целый сеанс.
Статьи по теме:
- Что такое сниффер
- Как применять активную xss
- Что такое интернет-серфинг
Сниффер, или анализатор трафика – это специальная программа, которая способна перехватить и/или проанализировать сетевой трафик, предназначенный для других узлов. Как известно, передача информации по сетке осуществляется пакетами – от машины пользователя к удаленной машине, так вот если установить сниффер на промежуточном компьютере, он будет захватывать проходящие пакеты до того, как они достигнут цели.
Работа одного сниффера может существенно отличаться от работы другого. Стандартный пакет начинает свое движение от ПК пользователя и далее через каждый компьютер в сети, проходя через «соседний комп», «комп оборудованный сниффером», и заканчивая «удаленным компом». Обычная машина не обращает внимания на пакет, не предназначенный для ее IP адреса, а машина со сниффером игнорирует эти правила и перехватывает любой пакет, который оказывается в ее «поле деятельности». Сниффер – это тоже самое, что и сетевой анализатор, но компании, отвечающие за безопасность, и Федеральное правительство предпочитают называть его одним словом.
Пассивная атака
Хакеры повсеместно используют это устройство для наблюдения за посылаемой информацией, и это есть не что иное как пассивная атака. Т. е. непосредственного вторжения в чужую сеть или компьютер не происходит, но возможность получить желаемую информацию и пароли есть. В отличие от активной атаки, связанной с дистанционным переполнением буфера хостинга и сетевыми наводнениями, пассивную атаку сниффера обнаружить нельзя. Следы его деятельности нигде не фиксируются. Но тем не менее характер его действий не оставляет места двусмысленности.
Данное устройство позволяет получить любой тип информации, переданной в сети: пароли, электронный адрес, конфиденциальные документы и др. Причем чем ближе сниффер будет установлен к главной машине, тем больше у него возможностей получить секретную информацию.
Типы снифферов
Чаще всего применяются устройства, осуществляющие кратковременный забор информации и работающие в небольших сетях. Дело в том, что сниффер, способный постоянно отслеживать пакеты, сильно потребляет мощность центрального процессора, благодаря чему устройство может быть обнаружено.
В крупных сетях снифферы, работающие на больших протоколах передачи данных, способны генерировать до 10 Мб в день, если они оборудованы регистрацией всего диалогового движения. А если обрабатывается и почта, то объемы могут быть еще больше. Существует и тип снифферов, записывающих только первые несколько байтов пакета, чтобы захватить имя и пароль. Некоторые устройства захватывают целый сеанс и «вырубают» ключ. Тип сниффера выбирается в зависимости от возможностей сетки и желаний хакера.
Видео по теме
Совет полезен?
Статьи по теме:
- Что это за болезнь Клаупфера
- Что такое «Двач», «Форчан» и другие имиджборды
- Как уничтожить вирус
Добавить комментарий к статье
Похожие советы
- Как убрать бота
- Как отследить запрос
- Как можно вычислить ip-адрес
- Что такое софт
- Как узнать номер сотового телефона по имени и фамилии бесплатно
- Что такое hardware и software
- Как пользоваться онлайн переводчиком
- Что такое кряк
- Что такое конфиденциальность
- Как перехватить домен
- Что такое сетевая атака
- Что такое эксплоит и как его использовать
- Как избавиться от вируса в сети
- В каких бытовых устройствах применяется гафний
- Как назывался первый компьютерный вирус
- Что такое rip
- Кто такие неформалы?
- Кто такой инсайдер банка
- Что такое бит?
- Все о «Пикабу»: что это такое, отзывы
- Что такое профиль
Источник: www.kakprosto.ru
Библиотека Интернет Индустрии I2R.ru
Снифферы — это программы, которые перехватывают весь сетевой трафик. Снифферы полезны для диагностики сети (для админов) и для перехвата паролей (понятно для кого). Например, если ты получил доступ к одной сетевой машине и установил там сниффер, то скоро все пароли от их подсети будут твои. Снифферы ставят сетевую карту в прослушивающий режим (PROMISC).То есть они получают все пакеты.
В локальной сети можно перехватывать все отправляемые пакеты со всех машин (если вы не разделены всякими хабами), так как там практикуется широковещание. Снифферы могут перехватывать все пакеты (что очень неудобно, ужасно быстро переполняется лог файл, зато для более детального анализа сети самое оно) или только первые байты от всяких ftp, telnet, pop3 и т.д.
Снифферов сейчас развелось много. Множество снифферов есть как под Unix, так и под Windows (даже под DOS есть). Снифферы могут поддерживать только определенную операционную систему (например, linux_sniffer.c, который поддерживает Linux), либо несколько (например, Sniffit, работает с BSD, Linux, Solaris). Снифферы так разжились из-за того, что пароли передаются по сети открытым текстом. Таких служб уйма.
Это telnet, ftp, pop3, www и т.д. Этими службами пользуется уйма народу. После бума снифферов начали появляться различные алгоритмы шифрования этих протоколов. Появился SSH (альтернатива telnet, поддерживающий шифрование), SSL(Secure Socket Layer — разработка Netscape, способная зашифровать www сеанс). Появились всякие Kerberous, VPN(Virtual Private Network). Заюзались некие AntiSniff’ы, ifstatus’ы и т.д.
Но это в корне не изменило положения. Службы, которые используют передачу пароля plain text’ом, используются вовсю, поэтому сниффать еще долго будут.
Windows-реализации снифферов
CommView — www.tamos.com
Довольно продвинутый сниффер производства TamoSoft. Можно установить свои правила на сниффинг (например, игнорировать ICMP, а TCP сниффать, также кроме интернет-протоколов имеется поддержка ethernet-протоколов, таких как ARP, SNMP, NOVELL и т.д.). Можно, например, сниффать только входящие пакеты, а остальные игнорировать, можно указать лог-файл для всех пакетов с лимитов размера в мегабайтах.
Имеет две утилиты — Packet Generator и NIC Vendor Indentifier. Можно посмотреть все подробности посланных/полученных пакетов (например, в TCP-пакете можно просмотреть Source Port, Destination Port, Data length, Checksum, Sequence, Window, Ack, Flags, Urgent). Радует еще то, что она автоматически устанавливает capture-драйвер. В общем утилита очень полезная для снифа, рекомендую всем.
SpyNet — packetstorm.securify.com
Довольно известный сниффер производства Laurentiu Nicula 2000. Обычные функции — перехват/декодинг пакетов. Хотя декодинг развит прикольно (можно, например, по пакетам воссоздавать странички, на которых побывал пользователь). В общем, на любителя.
Analyzer — neworder.box.sk
Analyzer требует установку специального драйвера, вложенного в пакет (packet.inf, packet.sys). Можно посмотреть всю информацию о вашей сетевой карте. Также Analyzer поддерживает работу с командной строкой. Он прекрасно работает с локальной сетью. Имеет несколько утилит: ConvDump,GnuPlot,FlowsDet,Analisys Engine.
Ничего выдающегося.
IRIS — www.eeye.com
IRIS продукт известной фирмы eEye. Представляет обширные возможности по фильтрации. Меня в нем сильно порадовало три фишки:
1.Protocol Distribution
2.Top hosts
3.Size Distribution
Также имеется Packet Decoder. Он поддерживает развитую систему логов. А доступные возможности фильтрации превосходят все снифферы обзора. Это Hardware Filter, который может ловить либо все пакеты (Promiscious), либо с различными ограничениями (например, захватывать только multicast пакеты или broadcast пакеты, либо только Mac-фреймы).
Можно фильтровать по определенным MAC/IP адресам, по портам, по пакетам, содержащим определенные символы. В общем, неплохой сниффер. Требует 50comupd.dll.
WinDUMP
Аналог TCPdump for Unix. Этот сниффер действует через командную строку и представляет минимальные возможности по конфигурации и еще требует библиотеку WinPcap. Мне не очень.
SniffitNT
Тоже требует WinPcap. Работа только как командной строкой, так и в интерактивном режиме. Со сложными опциями. Мне не очень.
ButtSniff
Обычный пакетный сниффер, созданный известнейшей группой CDC (Cult of the Dead Cow). Фишка в том, что его можно использовать, как плагин к BO (очень полезно). Работа из командной строки.
Существуют еще множество снифферов, таких как NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и т.д. Пойдем дальше.
Unix’овые снифферы Все снифферы данного обзора можно найти на packetstorm.securify.com.
linsniffer
Это простой сниффер для перехвата логинов/паролей. Стандартная компиляция (gcc -o linsniffer linsniffer.c). Логи пишет в tcp.log.
linux_sniffer
Linux_sniffer требуется тогда, когда вы хотите детально изучить сеть. Стандартная компиляция. Выдает всякую «шнягу» дополнительно, типа isn, ack, syn, echo_request (ping) и т.д.
Sniffit
Sniffit — продвинутая модель сниффера написанная Brecht Claerhout. Install (нужна libcap): #./configure #make Теперь запускаем сниффер: #./sniffit usage: ./sniffit [-xdabvnN] [-P proto] [-A char] [-p port] [(-r|-R) recordfile] [-l sniflen] [-L logparam] [-F snifdevice] [-M plugin] [-D tty] (-t | -s ) | (-i|-I) | -c ] Plugins Available: 0 — Dummy Plugin 1 — DNS Plugin Как видите, сниффит поддерживает множество опций. Можно использовать сниффер в интерактивном режиме.
Сниффит хоть и довольно полезная программа, но я ей не пользуюсь. Почему? Потому что у Sniffit большие проблемы с защитой. Для Sniffit’a уже вышли ремоутный рут и дос для Linuxл. Не каждый сниффер себе такое позволяет.
HUNT
Это мой любимый сниффер. Он очень прост в обращении, поддерживает много прикольных фишек и на данный момент не имеет проблем с безопасностью. Плюс не особо требователен к библиотекам (как, например, linsniffer и Linux_sniffer). Он может в реальном времени перехватывать текущие соединения и под чистую «дампить» с удаленного терминала. В общем, Hijack rulezzz.
Рекомендую всем для усиленного использования. Install: #make Run: #hunt -i [interface]
READSMB
Сниффер READSMB вырезан из LophtCrack и портирован под Unix (как ни странно). Readsmb перехватывает SMB пакеты.
TCPDUMP
tcpdump — довольно известный анализатор пакетов, написанный еще более известным человекомм — Вэн Якобсоном, который придумал VJ-сжатие для PPP и написал программу traceroute (и кто знает что еще?). Требует библиотеку Libpcap. Install: #./configure #make
Теперь запускаем ее: #tcpdump tcpdump: listening on ppp0 Все твои коннекты выводит на терминал. Вот пример вывода на пинг ftp.technotronic.com: 02:03:08.918959 195.170.212.151.1039 > 195.170.212.77.domain: 60946+ A? ftp.technotronic.com. (38) 02:03:09.456780 195.170.212.77.domain > 195.170.212.151.1039: 60946* 1/3/3 (165) 02:03:09.459421 195.170.212.151 > 209.100.46.7: icmp: echo request 02:03:09.996780 209.100.46.7 > 195.170.212.151: icmp: echo reply 02:03:10.456864 195.170.212.151 > 209.100.46.7: icmp: echo request 02:03:10.906779 209.100.46.7 > 195.170.212.151: icmp: echo reply 02:03:11.456846 195.170.212.151 > 209.100.46.7: icmp: echo request 02:03:11.966786 209.100.46.7 > 195.170.212.151: icmp: echo reply В общем, сниффер полезен для отладки сетей, нахождения неисправностей и т.д.
Dsniff
Dsniff требует libpcap, ibnet, libnids и OpenSSH. Записывает только введенные команды, что очень удобно. Вот пример лога коннекта на unix-shells.com: 02/18/01 03:58:04 tcp my.ip.1501 -> handi4-145-253-158-170.arcor-ip.net.23 (telnet) stalsen asdqwe123 ls pwd who last exit Вот dsniff перехватил логин с паролем (stalsen/asdqwe123). Install: #./configure #make #make install
Защита от снифферов
Самый верный способ защиты от снифферов — использовать шифрование (SSH, Kerberous, VPN, S/Key, S/MIME, SHTTP, SSL и т.д.). Ну, а если не охота отказываться от plain text служб и установления дополнительных пакетов? Тогда пора использовать антиснифферские пакеты.
AntiSniff for Windows
Этот продукт выпустила известная группа Lopht. Это был первый продукт в своем роде. AntiSniff, как сказано в описании: «AntiSniff is a Graphical User Interface (GUI) driven tool for detecting promiscuous Network Interface Cards (NICs) on your local network segment». В общем, ловит карты в promisc режиме. Поддерживает огромное количество тестов (DNS test, ARP test, Ping Test, ICMP Time Delta Test, Echo Test, PingDrop test). Можно сканировать как одну машину, так и сетку.
Здесь имеется поддержка логов. AntiSniff работает под Windows 95/98/NT/2000, хотя рекомендуемая платформа Windows NT. Но царствование его было недолгим, и уже в скором времени появился сниффер под названием AntiAntiSniffer, написанный Майком Перри (Mike Perry) (найти его можно по адресу www.void.ru/news/9908/snoof.txt).Он основан на LinSniffer (рассмотренный далее).
Unix sniffer detect
Сниффер можно обнаружить командой: #ifconfig -a lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:2373 errors:0 dropped:0 overruns:0 frame:0 TX packets:2373 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 ppp0 Link encap:Point-to-Point Protocol inet addr:195.170.y.x P-t-P:195.170.y.x Mask:255.255.255.255 UP POINTOPOINT PROMISC RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:3281 errors:74 dropped:0 overruns:0 frame:74 TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 Как видите, интерфейс ppp0 стоит в PROMISC mode. Либо оператор загрузил сниффер для проверки сети, либо вас уже «имеют». Но помните, что ifconfig можно спокойно подменить, поэтому используйте tripwire для обнаружения изменений и всяческие программы для проверки на сниффы.
AntiSniff for Unix.
Работает на BSD, Solaris и Linux. Поддерживает ping/icmp time test, arp test, echo test, dns test, etherping test, в общем, аналог AntiSniff’а для Win, только для Unix. Install: #make linux-all Sentinel Тоже полезная программа для отлова снифферов. Поддерживает множество тестов, проста в использовании. Install : #make #./sentinel ./sentinel [method] [-t ] [options] Methods: [ -a ARP test ] [ -d DNS test ] [ -i ICMP Ping Latency test ] [ -e ICMP Etherping test ] Options: [ -f ] [ -v Show version and exit ] [ -n ] [ -I ] Опции настолько просты, что нет комментариев.
Источник: www.i2r.ru
Home
Оригинальная публикация
Привет, меня зовут Даша, я работаю тестировщицей клиентского мобильного приложения в Ozon.
Сегодня поговорим о снифферах в тестировании мобильных приложений –– программах для перехвата, анализа и модификации трафика. Пожалуй, самый популярный сниффер, о котором я слышала, — Charles. Про него уже не раз писали, есть довольно детальные разборы. Но не Charles-ом единым!
Например, у нас в Ozon команда разработчиков в основном пользуется Proxyman, а тестировщики (в том числе и я) — Charles.
Не так давно у нас в команде разработки мобильного приложения случился холивар на тему “Charles vs Proxyman”. Я попыталась выяснить, почему некоторые люди пользуются Proxyman, а другие — Charles. Из разговоров с коллегами мне было не до конца понятно, какой из снифферов лучше (и чем именно). Поэтому я решила попользоваться Proxyman и разобраться самостоятельно. Давайте вместе посмотрим, какой из инструментов — Charles или Proxyman — выйдет победителем в битве снифферов.
Готовим поле для битвы снифферов: ключевое о тулинге
Снифферы позволяют видеть, что приходит с бэка, изменять или перезаписывать этот ответ; то же самое можно сделать с запросами на бэк. Это даёт нам отличные возможности для тестирования клиент-сервисного взаимодействия (особенно если основная логика зашита на сервере).
Например, сегодня с бэка приходит заголовок страницы, состоящий из одного слова, и всё выглядит красиво и соответствует макетам. Но завтра бэк решает написать в заголовке пару предложений вместо одного (условно) — и то, как это будет выглядеть, как раз и помогает узнать сниффер.
В своей работе я чаще всего использую следующие функции: Rewrite, Map Local, Breakpoints и Throttling.
Rewrite:
- для замены URL — чтобы перенаправить трафик с тестовой среды на продакшен или наоборот (например, если фича готова только для тестовой среды);
- для подмены статус-кода, который приходит с бэка, — чтобы посмотреть, корректно ли будет вести себя приложение при ошибке сервера;
- для добавления или изменения заголовка в запросе — если фичу необходимо протестировать с определёнными хедерами.
Map Local — для полной замены ответа страницы с бэка на локальный файл.
Этой фичей удобно пользоваться для тестирования различных состояний элементов: открываешь файл, на который был заменён ответ страницы, меняешь в нём значение, сохраняешь и обновляешь страницу на устройстве. Как шутят наши разработчики, если у тебя достаточно сохранённых ответов с разных страниц, то из них можно построить приложение.
Breakpoints — с помощью этой функции можно поставить точку останова на любой URL; когда устройство будет его запрашивать, запрос к серверу откроется в формате редактирования.
Запрос можно будет изменить или прервать; то же самое произойдёт с ответом от сервера. По сути, Breakpoints может заменить Rewrite и Map Local, но всё же эта фича больше подходит для единоразового использования. Постоянно выискивать ту самую строчку, которую необходимо изменить, довольно затратно по времени, да и запрос за это время может отвалиться по тайм-ауту.
Throttling — отличная фича для подмены скорости интернета. Можно увидеть, как поведёт себя приложение на медленной скорости, как при этом будут загружаться картинки, видео или карта.
Давайте сравнивать Charles и Proxyman на примере этих функций.
Начинаем битву снифферов: установка и настройка
Для начала давайте разберёмся, как установить наши снифферы.
Charles: можно бесплатно скачать с официального сайта.
После инсталляции приложения устанавливаем сертификат на железо: Help -> SSL Proxying -> Install Root Certificate. Сниффер готов к работе.
Install and trust. Сниффер готов к работе.
Сравнение основных фич Charles и Proxyman
Начнём с простого.
Установка сертификата и подключение мобильного устройства к снифферу
Charles:
- Убедиться, что телефон и ноутбук подключены к одной сети.
- На мобильном устройстве: Настройки Wi-Fi -> Настройка прокси -> Вручную -> Сервер: ввести IP из Charles (Help -> Local IP Address) -> Порт: по умолчанию вводится 8888.
- Открыть браузер и перейти по ссылке chls.pro/ssl.
- Для Android: после загрузки сертификата необходимо его открыть и задать имя; после этого устройство будет готово к работе со сниффером.
- Для iOS: Настройки -> Основные -> Профили: установить только что скачанный сертификат.
- Для iOS: Настройки -> Основные -> Об этом устройстве -> Доверие сертификатам: включить для сертификата из п. 3.
Всё, вы великолепны! Можете запускать приложение и работать с трафиком.
Proxyman: процесс подключения реального устройства такой же, как в случае с Charles. Отличаются только место, где можно узнать IP, и адрес для скачивания сертификата.
Чтобы узнать IP, переходим в Certificate -> Install Certificate on iOS (Android) -> Physical Devices. Здесь можно найти IP-адрес, который необходимо вводить в настройках, а также адрес, по которому можно скачать сертификат и подробную инструкцию по его установке.
В этом раунде победителем для меня стал Proxyman. В нём есть подробное описание процесса установки сертификата на мобильное устройство. В случае с iOS многие забывают о том, что необходимо включить опцию «Доверие сертификатам», а подробная инструкция Proxyman позволяет избежать этой ошибки.
Подключение симулятора к снифферу
Подключение симулятора происходит немного по-другому по сравнению с подключением реального устройства. Я пишу тут именно про симулятор, потому что подключение эмулятора ничем не отличается от подключения реального устройства.
Charles:
- Сделать ресет симулятора: Device -> Erase All Contents and Settings.
- Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators.
- Сделать рестарт симулятора: Device -> Restart.
- Убедиться, что вы слушаете трафик вашего компьютера: Proxy -> MacOS Proxy (должна стоять соответствующая галочка).
Proxyman:
1. Открыть Certificate -> Install Certificate on iOS -> Simulators.
2. Поставить последовательно галочки в каждом пункте.
Готово, вы великолепны!
В этом раунде тоже выигрывает Proxyman — это видно даже по количеству пунктов в списке. Несколько кликов — и всё готово, в отличие от замороченной настройки Charles.
Функции снифферов: Rewrite
Charles:
- Tools -> Rewrite -> поставить чекбокс Enable Rewrite.
- Нажать на Add для создания правила для Rewrite.
- В окне Location с помощью кнопки Add можно добавить один или несколько URL, для которых будет работать это правило.
- В окне под Location с помощью кнопки Add можно задать правило, по которому будет работать Rewrite.
Есть большой выбор типов Rewrite, которые можно задать в выпадающем меню Type. Например, можно добавить, изменить или удалить Header в Request, изменить Response Code или подменить URL запросов.
Например, вот так будет выглядеть правило для добавления Header в Request:
Proxyman:
- Scripting -> Script List (⌥⌘I).
- Нажать + в левом нижнем углу и задать правила, по которым будет работать скриптинг.
- В поле Name внести название шаблона.
- Указать URL, для которого будут работать эти правила.
Всё, после этого можно выбирать и заменять значения Request и Response.
Вот так будет выглядеть скрипт для добавления параметров Header и Query в Request:
В этом раунде для меня однозначно выигрывает Charles. Возможно, потому что я не фанат замороченных настроек и писать срипт для подмены хедера для меня слишком сложно по сравнению с нажатием нескольких кнопок.
Функции снифферов: Map Local
Следующая по порядку, но не менее важная функция — Map Local. С её помощью можно полностью подменить ResponseBody.
Charles:
- Запустить приложение, чтобы трафик пошёл через Charles.
- Щёлкнуть правой кнопкой по URL, ответ от которого необходимо изменить, и выбрать Map Local.
- В окне Edit Mapping нажать на кнопку Choose и выбрать файл, содержимое которого должно отображаться в ответе.
Proxyman:
- Tools -> Map Local.
- Нажать + в левом нижнем углу и заполнить поля Name (название правила) и URL (адрес, для которого будет выполняться правило).
- Нажать Select Local File и выбрать JSON-файл, которым будет подменяться ответ (запрос).
В этом раунде для меня нет победителя, но фича, с помощью которой в Proxyman можно открывать файл сразу в текстовом редакторе, мне очень понравилась.
Функции снифферов: Breakpoints
Функция Breakpoints предназначена для изменения и прерывания запросов и ответов непосредственно в сниффере.
Charles:
- Нажать на кнопку Enable Breakpoints на верхней панели.
- Щёлкнуть правой кнопкой по URL, для которого необходимо использовать Breakpoints, и нажать на Breakpoints.
Также можно задать правила Breakpoints в пункте меню Proxy -> Breakpoints Settings.
После перехода по указанному URL сработает Breakpoints — и запрос с ответом станут редактируемыми; по нажатию на кнопку Abort их можно будет прервать.
Proxyman:
- Щёлкнуть правой кнопкой по URL, для которого необходимо использовать Breakpoints, и нажать на Breakpoints.
- В открывшемся окне можно задать правила, по которым будет работать Breakpoints.
При желании можно изменить URL, а также использовать Breakpoints для чего-то одного: только для запроса или только для ответа.
В этом раунде силы снифферов равны.
Функции снифферов: Throttling
Последняя функция из основного незаменимого арсенала снифферов — Throttling.
Charles:
- Proxy -> Throttle Settings.
- Выбрать опцию Enable Throttling. Если поставить чекбокс Only for selected hosts, кнопка Add станет активной и по нажатию на неё можно будет добавить те URL, для которых сработает изменение скорости интернета.
- Скорость интернета, которую будет симулировать Charles, можно выбрать из выпадающего списка или задать в соответствующих полях:
Proxyman:
- Tools -> Network Conditions.
- Выбрать опцию Enable Network Conditions.
- По нажатию на + откроется окно, в котором можно настроить правила симуляции скорости интернета. В этом раунде соперники равны.
Charles vs Proxyman: выбираем победителя
Мы рассмотрели только четыре функции снифферов — из списка незаменимых. Понятно, что в целом функций гораздо больше (надеюсь когда-нибудь собраться с силами и написать более подробный гайд по Proxyman).
Как видно из итогов раундов, у каждого сниффера есть свои плюсы и минусы. Мне нравится Charles за удобный интерфейс и более понятную настройку правил (нажал две кнопочки — и готово!), а Proxyman — за более гибкую настройку правил и подключения симуляторов (наверное, именно этим объясняется любовь разработчиков).
В этот раз явного победителя в битве снифферов нет; какой использовать, каждому предстоит решать самостоятельно. Рассказывайте в комментариях, что выбираете вы!
Источник: www.software-testing.ru