Назад | Перейти на главную страницу

Как регистрировать HTTP-трафик в Fiddler для собственного приложения, взаимодействующего с сервером VirtualBox?

У меня есть хост-машина Windows 7, на которой запущен Fiddler, и гость Ubuntu VirtualBox. На хосте я запускаю клиентское приложение (родное, а не .NET или Java), которое позволяет мне установить имя и порт сервера, но нет параметров настройки прокси. Он подключается к серверу REST, работающему в гостевой системе Ubuntu.

Он отлично работает, совершая вызовы и исходящие из гостя, но мне не удалось заставить Fiddler регистрировать трафик. Я попытался настроить правило (хотя я не уверен, что сделал это правильно) и попробовал инструкции по использованию Fiddler в качестве обратного прокси и безуспешно настраивал исходящий порт на машине Ubuntu.

Если я укажу клиенту на 127.0.0.1 и порт 8888, я увижу первый запрос, но не об этом (и клиент, очевидно, не работает с такой настройкой).

Кто-нибудь знает, какие шаги я могу предпринять, чтобы Fiddler регистрировал трафик?

Наконец-то это заработало, хотя я вовсе не уверен, что это «лучшее» решение, оно захватывает весь трафик по мере необходимости.

Я сделал следующее:

  1. В Fiddler я перешел в Rules-> Custom Rules ...
  2. Я добавил следующее в начало OnBeforeRequest() функция:

Код:

if (oSession.host=="127.0.0.1:8888") {
    oSession.bypassGateway = true;
    oSession.host="192.168.56.1:9876"; // This is the IP/Port of my guest OS / service
}
  1. Я настроил клиентское приложение на IP 127.0.0.1 и порт 8888.
  2. Я добавил фильтр, чтобы ограничить трафик только тем, который исходит из моего клиентского приложения.

Это грязно, но помогает.