Запись трассировок fiddler в windows iot базоваяcapturing fiddler traces on windows iot core

Fiddler Everywhere Pro

All Fiddler Everywhere features are available in both the Free and the Pro version. However, the Fiddler Everywhere Pro version extends the free version’s sharing and collaboration options. The free version has some limitations related to sharing quotas. Refer to the table below for a detailed comparison of the Free versus Pro versions.

Features Free Pro
Capture and Inspect Traffic Unlimited Unlimited
Creating Composer Requests Unlimited Unlimited
Using Auto Responder Rules Up to 5 enabled rules Unlimited
Creating Saved Sessions entries * Up to 5 sessions Unlimited
Sharing Saved Sessions Up to 5 session (with up to one user) 1000 session
Shared Session Size Max 5 MB Max 50 MB
Email Support Unlimited*

*subject to fair usage policy. Learn more about the support offering here.

Trial version

To try Fiddler Everywhere PRO for FREE for 30 days, press the Try PRO button and press Start Trial. An Upgrade Successful prompt window confirms your trial subscriptions. The trial activation does not require a credit card or any other additional information.

Default commands

?sometext

As you type sometext, Fiddler will highlight sessions where the URL contains sometext. Hit Enter to set focus to the selected matches.

>size

Select sessions where response size is greater than size bytes.

Also:

Select sessions where response size is less than size bytes.

=status

=method

Select sessions where response status = status or request method = method.

@host

Select sessions where the request host contains host. Hit Enter to set focus to the selected matches.

bold

Mark any future sessions in bold if the url contains the target string

bpafter

Break any response where the RequestURI contains the specified string

bps

Break any response where the status code matches

bpv or bpm

Create a request breakpoint for the specified HTTP method. Setting this command will clear any previous value for the command; calling it with no parameter will disable the breakpoint.

bpu

Create a request breakpoint for URIs containing the specified string. Setting this command will clear any previous value for the command; calling it with no parameter will disable the breakpoint.

cls or clear

clear the session list

dump

dump all sessions to a zip archive in C:\

g or go

Resume all breakpointed sessions

help

Show this page

hide Hide Fiddler in System tray

urlreplace

Replace any string in URLs with a different string. Setting this command will clear any previous value for the command; calling it with no parameter will cancel the replacement.

start

Register as the system proxy

stop

Unregister as the system proxy

show

Restore Fiddler from system tray — more useful when triggering rules from ExecAction.exe (see below)

select *MIME*

Select any session where the response Content-Type header contains the specified string.

select *HeaderOrFlag PartialValue*

Select any session where the named Header or SessionFlag contains the specified string.

allbut or keeponly

Hide all sessions except those where Content-Type header contains the specified string.

quit

Shutdown Fiddler.

!dns hostname

Perform a DNS lookup of the target host and show the results on the LOG tab

!listen *PORT *

Set up an additional listener on another port, optionally secured by a HTTPS certificate

Tips and Tricks

  1. Use drag-and-drop from the Session List to create a new request based on a previously-captured request.

  2. Use a # character in the RequestURL to be prompted for a series of sequentially-numbered URLs to download. If you enter a leading 0 (zero) before the «Start At» value, then all numbers will be padded with leading zeros (if necessary) to get to that width.

For instance, if you have the URL , and enter the Start At value as 08 and the End At value as 11, the Composer will request the following URLs:

  1. Shift+Click the Execute button to immediately break the new request for further editing using Fiddler’s Inspectors

  2. Add a dummy header Fiddler-Encoding: base64 and encode your body using base64 if it contains any binary data. Fiddler will decode the data before transmitting it to the server.

  3. Add a dummy header Fiddler-Host: targettesthost if you would like Fiddler to send your request to the specified server (http://targettesthost, in this case) while retaining the URL and host header specified elsewhere in the request. This is a convenience method that setS the X-OverrideHost, X-IgnoreCertCNMismatch and X-OverrideGateway flags on the new Session, removing the dummy header before contacting the specified server.

  4. Click the Upload File link to have the composer inject one or more local files into the request body as it is sent to the server.

If you would like the uploaded file to be sent as base64 (as you might in an XML post body) insert the token base64 into the string. For instance:

Настройка прокси-сервера на виртуальной машине или устройстве IoT CoreSetup Proxy on VM or IoT Core Device

Приведенные ниже действия позволят виртуальной машине Интернета вещей или устройству маршрутизировать трафик через ваш компьютер, чтобы Fiddler мог записывать сетевой трафик для анализа.The steps below will allow your IoT VM or device to route traffic through your PC so that Fiddler can capture network traffic for analysis:

  1. Определение IP-адреса компьютера разработки с помощью консоли CMD с помощью ipconfigDetermine the IP of your development machine using a CMD console via ipconfig
  2. Запустите новый сеанс SSH и на этот раз войдите в систему как defaultUser (имя_пользователя: дефаултаккаунт PWD: ).Start a new SSH session and this time, login as defaultUser (Username: DefaultAccount Pwd: )
  3. Задайте прокси-сервер с помощью следующих команд:Set the proxy via the following commands:

Если этот компьютер еще не запущен, запустите Fiddler на своем компьютере, перезапустите виртуальную машину или устройство IoT Core, и трафик теперь должен маршрутизироваться через Fiddler.If not already running, start Fiddler on your PC, restart your VM or IoT Core device and traffic should now be routed through Fiddler.

Примечание. Если вы видите параметр HTTPS CONNECT в Fiddler, но данные отсутствуют, вероятно, сертификат установлен неправильно.Note: If you see https CONNECT in Fiddler but no data, the certificate was likely not installed correctly. Убедитесь, что вы не пропустили действия по перемещению и импорту корневого сертификата Fiddler выше.Make sure you didn’t miss the Transfer and Import Fiddler Root Certificate steps above.

Аддитоналли

Если вы хотите отключить прокси-сервер, обратите внимание, что указанные выше ключи реестра кэшируются в двоичном BLOB-объекте другого ключа.Additonally, if you wish to turn the proxy back off note that the above reg keys get cached in a binary blob in another key. Таким образом, помимо удаления только тех разделов, которые были добавлены в шаге 3 выше, необходимо выполнить следующие действия.so, in addition to removing the keys just added in step 3 above you also need to do:

Возможности

  • В окне запросов слева можно просматривать и выбирать запросы, смотреть их заголовки, сохранять их на диск все вместе или по отдельности.

  • AutoResponder – позволяет подставить свой файл вместо сервера.

    Например, приятель попросил поправить скрипт на сайте, но доступа к серверу не дал.

    С Fiddler задача решается просто – сохраняете скрипт на диске, в AutoResponder указываете, что нужно брать с диска, а не с сайта – и исправляете, что нужно, перезагружаете страницу, проверяете – всё с комфортом.

  • Composer – позволяет составить запрос на сервер вручную.

    Например, вы хотите сделать такой же AJAX-запрос, как только что делали. Для этого можно просто выбрать его слева и нажать кнопку Replay (слева-сверху).

    А если хочется поменять? Нет ничего проще – выбираем справа Composer и перетаскиваем запрос слева в него. После этого исправляем, что хотим и Execute.

  • Filters – позволяет назначить действия в зависимости от вида запроса. Опции станут понятны после перехода на вкладку.

  • FiddlerScript – основа мощи Fiddler: скрипт, задающий функциональность. Его редактированием можно добавить или удалить пункты меню, колонки в списке запросов, и, вообще, поменять почти всё.

    Язык программирования JScript.NET, который здесь используется, может взаимодействовать с Windows в полном объёме, включая коммуникацию с базой данных, Word, Excel.

Interacting with Sessions

If you right-click one or more sessions, a context-menu appears:

Tip: You can add to this menu using the ContextAction feature of FiddlerScript.

On the Copy menu:

  • Session — Copy the raw session(s) to the clipboard in plaintext and colorized HTML format
  • Just URL — Copy the hostname + URL path
  • Headers Only — Copy the request and response headers to the clipboard in plaintext and colorized HTML format
  • Full Summary — Copy all columns in the session list to the clipboard in plaintext and HTML suitable for pasting into Excel
  • Terse Summary — Copy the request URL and the response Status to the clipboard

On the Save menu:

  • Session > In ArchiveZIP — Creates a .SAZ archive containing all selected requests & responses, plus an index page.
  • Session — Create a text file containing the request followed by the response
  • Headers Only — Create a text file containing the request and response headers
  • Full Request — Create a text file containing the request headers and request body
  • Request Body — Create a file containing the body of the request (generally HTTP POST data)
  • Full Response — Create a text file containing the response headers and response body
  • Response Body — Create a file contain the body of the response (often HTML or an image)

Правила

Правила (Rules) — основа мощи Fiddler, то, за что он нежно и искренне любим. Они находятся в верхнем меню.

Есть несколько стандартных правил, но, что самое важное, новые правила можно задавать через пункт «Customize Rules» (или Fiddler Script Editor). При наступлении любого события из обширного списка, Fiddler вызывает соответствующий обработчик из правил

Например, onBeforeRequest, onShutdown

При наступлении любого события из обширного списка, Fiddler вызывает соответствующий обработчик из правил. Например, onBeforeRequest, onShutdown.

Стандартные правила отлично прокомментированы, и писать новые весьма просто.

Можно манипулировать заголовками, запросом, менять ширину канала, управлять выводом запроса в Fiddler и так далее и т.п.

Язык для задания правил — JScript.NET, что во-первых, дает удобство разработки, а во-вторых — интеграцию с другими компонентами Windows.

Например, на JScript.NET можно написать логирование определенного вида запросов в MSSQL или Access. Сам я не пробовал, но разработчик Fiddler говорит о возможности задания правил вообще на любом языке .NET.

Там же, в правилах, задаются и пункты меню Rules.

Documentation

We believe documentation is at its best when the content is a product of collaboration between the builders and consumers of that product. Everybody can play a role in making our documentation better, and we encourage you to help us with that task in the way that you choose:

  • Send Feedback
    Use the Was this article helpful? functionality to give us feedback and ideas on how we can improve the documentation. Alternatively, you could request a feture or report a bug using the Fiddler Everywhere Feedback Portal.

  • Create an Issue
    If you find an issue with our docs that needs addressing, the best way to let us know is by creating an issue in our Github repository. When creating an issue, please provide a descriptive title, be as specific as possible, and link to the documentation article in question. If you can provide a link to the closest anchor to the issue, that is even better.

  • Send a Pull Request
    Creating an issue is great, but what we love are pull requests. So, if you find an issue in the docs, or even feel like creating new content, we’d be happy to have your contributions!

    In order to do this, you must fork our documentation and submit a pull request. That way, you may contribute an update exactly where you found the error. After that, our technical writing team will need to approve your change request. Please use only standard markdown. For more detailed instructions, please follow the published in GitHub. You could directly initiate a pull request by using the Improve this article functionality.

UI Flags

ui-hide

Hide the session from the Session List.

  • The session will continue to run.
  • Breakpoints on hidden sessions are ignored.
  • Note: hiding a session will free up the memory that would otherwise be used to hold the session data in memory.

ui-color

The value of this flag determines the font color used to render this session in the Session List.

ui-backcolor

The value of this flag determines the background color used behind this session’s entry in the Session List.

ui-bold

If present, this session’s entry will be bolded in the Session List.

ui-italic

If present, this session’s entry will be italicized in the Session List.

ui-strikeout

If present, this session’s entry will be struck out in the Session List.

ui-customcolumn

The value of this flag is shown in the Fiddler Session List’s «User-defined» column.

ui-comments

The Comment, if any, which the user set on this session.

Если браузере видна ошибка, что соединение не защищено

И при этом есть возможность добавить исключение для сайта

Значит был пропущен или не полностью выполнен шаг добавления сертификата Fiddler в доверенные сертификаты браузера.

  • настройки Mozilla Firefox были выполнены для отдельного профиля (как рекомендуется в статье), а сейчас запущен профиль по умолчанию, или наоборот
  • сертификат Fiddler был добавлен в доверенные сертификаты Mozilla, но при этом не была проставлена галочка со степенью доверия: Этот сертификат может служить для идентификации веб-сайтов
  • вы настроили работу Mozilla Firefox через Fiddler, и сертификат указали, но потом в Fiddler сгенерировали новый сертификат

Нет возможности добавить исключение для сайта

Ошибка с HSTS (HTTP Strict Transport Security).

Значит в текущем профиле браузера уже была осуществлена работа с сайтом по https, и при этом использовался отличный от текущего сертификата Fiddler сертификат:

  • прежний сертификат Fiddler;
  • сертификат настоящего удостоверяющего центра (ещё до настройки работы браузера через Fiddler).

Это браузер видит неожданную смену сертификата издателя, чует атаку, и блокирует подключение без возможности добавить исключение. Защищает.

В этом случае можно выбрать три варианта:

Вариант 1. Профиль

Перейти на новый профиль браузера. Настроить его по новой.

Вариант 2. Забыть сайт (в текущем профиле)

Открыть историю, например, по комбинации Ctrl + Shift + H. Кликнуть правой кнопкой мыши на сайт, к которому невозможно подключиться. И выбрать последний пункт «Забыть этот сайт» или «Forget About This Site».

Потеряется вся история работы с сайтом. Куки, сессии.

Вариант 3. Забыть вообще всё (очистить профиль)

Или очистить текущий профиль от всего (если не жалко) — Ctrl + Alt + Del в адресной строке.

Использовано изображение с сайта http://toposrednik.ru .

На Хабре уже упоминалась данная тулза, но как-то в контексте других тем.

Fiddler is freeware and can debug traffic from virtually any application that supports a proxy, including Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, Opera, and thousands more. You can also debug traffic from popular devices like Windows Phone, iPod/iPad, and others.

To debug applications you’ve written in Java, .NET, or using WinHTTP, see this page.

Итак Fiddler — прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.

применение первое: Собственно раз уж это прокси — то мы можем увидеть все запросы их заголовки, cookie, параметры передаваемые на сервер. Когда-то, мне довольно часто задавали вопрос back-end разработчики — чем можно посмотреть параметры передаваемые на сервер при отправке формы. Тогда я через консоль firebug довешивал onsubmit на форму, делал serialize и посылал при необходимости форму аяксом. Теперь зная про фидлер — можно не городить костыли. Кроме того нажав F11 можем отлаживать запросы — добавляя нужные параметры перед посылкой на сервер и подставляя другие ответы от сервера.

замена расширения для FF: Есть замечательное расширение в ФФ для тестирования сайта на медленном соединении (название которого я всегда забываю). Кроме того «у него» есть маленький недостаток — я не могу проверить сайт в других браузерах кроме ФФ. На помощь спешит:

autoResponder+ firebug То чем я пользуюсь чаще всего и то чем хотелось поделиться больше всего. Ситуация — у вас есть ссылка на живой сайт в котором нужно дописать/исправить/отлаживать скрипт.

— Знакомая ситуация?

Что делать? Шеф все пропало, я не могу работать в таких условиях!

Спокойно! Делай раз:

Сохраняем скрипт у себя на машине. И открываем в редакторе.

Делай два: приводим код к читабельному виду, к примеру с помощью этого сервиса, и сохраняем полученное заменяя обфусцированный код.

Делай три: — создаем правило в AutoResponder. Теперь если мы обновим в браузере нашу страницу, при этом скрипт который мы отлаживали будет иметь удобоваримый вид —

Теперь каждый раз когда вы обновляете страницу пока вам будет подменяться и отдаваться ваш локальный файл. Нет необходимости сохранять страницу на машину чтобы добавить или отладить функциональность.

fid·dle

(fĭd′l)
n.
1. A violin, especially one used to play folk or country music.

2. Nautical A guardrail used on a table during rough weather to prevent things from slipping off.

3. Informal Nonsensical, trifling matters:

4. Chiefly British An instance of cheating or swindling; a fraud.

v. fid·dled, fid·dling, fid·dles

v.intr.
1. To play a fiddle.

2. To touch or handle something in a nervous way:

3. To make unskilled efforts at repairing or improving:

4. To meddle or tamper:

5. Chiefly British To commit a fraud, especially to steal from one’s employer.

v.tr.
1. To play (a tune) on a fiddle.

2. Chiefly British To alter or falsify for dishonest gain:

Phrasal Verbs: fiddle around To act foolishly, playfully, or without a clear sense of purpose:

fiddle away To waste or squander:

Similar Tools

Fiddler is not the only tool that works as a proxy or provides these capabilities. Following is the list of some of the more or less similar tools:

  • WireShark: a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education.
  • Microsoft Network Monitor (AKA NetMon): a packet analyzer. It enables capturing, viewing, and analyzing network data and deciphering network protocols. It can be used to troubleshoot network problems and applications on the network.
  • Browser Plugins (they are not proxy)

    • HttpWatch for IE and FireFox: an integrated HTTP sniffer for IE and Firefox that provides new insights into how your website loads and performs.
    • FireBug for FireFox: a web development tool that allows the debugging, editing, and monitoring of any website’s CSS, HTML, DOM, and JavaScript, and provides other Web development tools.
    • Chrome developer tools (Ctrl+shift+I)
    • FireBug Lite for Chrome: provides the rich visual representation we are used to see in Firebug when it comes to HTML elements, DOM elements, and Box Model shading. It provides also some cool features like inspecting HTML elemements with your mouse, and live editing CSS properties.
    • IE Dev Tools (F12): IE9 currently provides some of the Fiddler’s feature and is going to provide even more – I guess because Eric Lawrence, the author of Fiddler, is a PM on IE team.

WireShark and NetMon are proxies which are more or less similar to Fiddler in nature; however, while Fiddler intercepts the traffic on the Application Layer, WireShark and NetMon intercept the traffic on much lower level and they are not limited to HTTP. This makes them awesome choices when it comes to low level debugging of network issues or monitoring protocols other than http; however, they do not display the traffic in an as easily understandable form as Fiddler.

Browser plugins are, however, different from proxies in nature. Firstly they run in the browser and as such can only intercept browser traffic. All the browser plugins I know limit the traffic monitoring to the session/tab they are running on (which makes sense). Proxies however run as a separate process and intercept traffic regardless of where it is coming from.

The other difference worth pointing out is that browsers serve (valid/current) cached contents locally without hitting the network. For example if your website requires a CSS file that has been cached on the computer from a previous session and is still valid, when you browse to the website again, the browser is going to serve the css locally. This means that the browser plugin is going to see the content served from the cache while proxies will not see the request and the traffic because browser does not make any request.

Не могу увидеть запросов из Android приложения через Fiddler

#1 Aguero

Members

40 сообщений

2. Извлек сертификат fiddler, у становил у себя на телефоне.

4. В настройках wi-fi прописал порт и ip windows машины, где установлен fiddler. 5. Запустил fiddler, запустил приложение. Но запросы в fiddler не видны. Что не так? Кто-нибудь сталкивался с такой проблемой?

Members

1 464 сообщений

Members

40 сообщений

Members

1 464 сообщений

Members

1 742 сообщений

ФИО: Роман

можно попробовать что тут описано

#6 comolder

Members

26 сообщений

ФИО: Батыров Арсений Георгиевич

А по какой инструкции делаете? Я только что проверил работу вот по этой инструкции, работает:

After Fiddler is installed, configure it to allow remote connections and to decrypt HTTPS traffic:

  1. Click menu Tools | Fiddler Options, then select the Connections tab
  2. Make note of the “Fiddler listens on” port (normally it’s 8888)
  3. Make sure the check box for “Allow remote computer to connect” is checked
  4. Switch to the HTTPS tab
  5. Make sure the check boxes for “Capture HTTPS Connects” and “Decrypt HTTPS traffic” are both checked
  6. Restart Fiddler
  7. Make note of the PC’s IP address
  8. Close non essential apps on the Windows PC (to minimize web traffic being routed through Fiddler)

Set up Android Networking

Now we’ll set up the Android device to connect to the Fiddler proxy. These instructions should work for most Android phones or tablets on OS 4.0 and newer. (If your device doesn’t work or needs slightly different steps, you can search Google for your-phone-model http proxy.)

  1. Tap on Settings, then Wi-Fi
  2. Find the network on which you’re connected (normally the first one listed), then tap and hold
  3. Choose Modify network from the pop-up
  4. Scroll down and enable “Show advanced options”
  5. Change “Proxy settings” to Manual
  6. Under “Proxy host name” enter the Windows PC IP address from above
  7. Under “Proxy port” enter the Fiddler port from above (usually 8888)
  8. Tap Save and wait a moment for the network to reconnect

По опыту: проверьте, что IP в сети тот (обычно он начинается на 192.168), порт (стандартный 8888), что PC и телефон находятся в одной сети. Как уже сказали выше, проверьте сначала вообще трафик с телефона, и только потом переходите к приложению.

Если не получится — можно попробовать charles proxy, как хорошую (но платную с 30-дневным триалом) альтернативу fiddler. Можно проверять на эмуляторе, обычно их гораздо проще подружить с прокси. Если не запускается стандартный эмулятор — подойдёт Genymotion, он достаточно просто подключается к внешним прокси.

источник

Перехват HTTPS-траффика между Android-устройством и внешним сервером

Трудности начинаются тогда, когда речь заходит о перехвате трафика между Андроид-устройством и внешним сервером. В случае незашифрованного (HTTP-протокол) трафика всё весьма тривиально (вот и инструкция есть) — разрешаем Fiddler2 внешние соединения, в Андроиде устанавливаем прокси сервером адрес нашей машины с Fiddler2 — и вуаля, всё работает. А вот на настройку перехвата HTTPS-трафика у меня ушло чуть больше времени.

Теория

Итак, в чём же сложность? В том, что при использовании протокола HTTPS клиент по-умолчанию проверяет, а действительно ли тот сервер, к которому он подключился, является нужным. Для этого используются сертификаты. И вот у настоящего сервера этот сертификат, понятное дело, тоже настоящий и соответствует открытому URL, а вот у нашего прокси — нет. Для решения этой проблемы в десктопных операционных системах в таких случаях есть возможность сгенирировать в Fiddler2 поддельный сертификат, импортировать его в доверенные — и теперь клиент всегда будет верить, что соединение с Fiddler2 вполне безопасно. К сожалению, с мобильным устройством такой легкий финт ушами не прошел.

Во-первых, возможности импортировать внешний сертификат в Андроиде версий младше 4.0 нет. Есть какие-то не внушающие доверия варианты с рутоваными девайсами — но это не наш путь. Во-вторых, в Андроид даже версии 4.0 импортировать сертификат Fiddler2 не получается. Дело в том, что генерируемый по-умолчанию сертификат не соответствует каким-то там Андроидовским критериям безопасности и не устанавливается. Его нужно генерировать специальным образом. В-третьих, совсем даже не факт, что все подряд программы сразу поверят поддельному сертификату. Есть нюансы.

Практика

  1. Берём устройство с Андроидом версии 4.0 или выше. Нет, девайс с 2.3 не подойдет. Да, эмулятор версии 4.0 подойдет.
  2. Устанавливаем на компьютер последнюю версию Fiddler2.
  3. Устанавливаем специальные библиотеки генерации Андроид-совместимого сертификата безопасности отсюда.
  4. Экспортируем из Fiddler2 сертификат безопасности («Tools->Fiddler Options->HTTPS->Export root certificate to Desktop»). Кладём на флешку, в корень (ну или на эмулятор, если вы используете его).
  5. На Андроиде добавляем сертификат безопасности в доверенные(«Settings > Security > Install from SD card»)

Запускаем Fiddler2, разрешаем в настройках внешние коннекты

На Андроиде в настройках сети прописываем в качестве прокси адрес нашей десктопной машины с Fiddler2.

На Андроиде открываем браузер, вводим google.com — и видим запрос с ответом в окне Fiddler2.

Итак, с браузером получилось. К сожалению, не все программы столь доверчивы, как браузер. К примеру, в моей собственной софтине, где я использую Apache HTTP Client, способ не прокатил — плевал апачевский клиент на доверенные сертификаты операционки. В этом случае мне пришлось отключить эту проверку вручную, таким вот образом:

где EasySSLProtocolSocketFactory взят отсюда и разрешает доверие к любым сертификатам. Не безопасно, только для отладки!

После этого трафик моей программы стал также успешно отображаться в Fiddler2.

источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *