Какие инструменты можно использовать для анализа журналов захвата сети Internet Explorer?

Я использую инструменты разработчика F12, встроенные в Internet Explorer 9, для захвата сетевого трафика на сайте. Эта информация может быть сохранена в файл XML (по умолчанию) или CSV.

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

Использование инструментов разработчика Internet Explorer Состояния захвата сети:

Кнопка "Сохранить" записывает текущий сеанс HTTP в файл XML с использованием схемы архива HTTP или файла.CSV. После сохранения сеанса вы можете открыть сеанс с помощью любого инструмента, который может читать архивные файлы HTTP или файлы.CSV. Internet Explorer 9 может экспортировать ваши данные, но он может просматривать только сеансы HTTP в реальном времени и не может читать сохраненные файлы.

Тем не менее, мне трудно найти релевантные результаты в поиске схемы HTTP-архива, и хотя CSV хорош, кажется, ему не хватает очень полезной информации. (Мне может не понадобиться эта дополнительная информация сейчас, но она может пригодиться в будущем.)

Существуют ли инструменты или ресурсы (фрагмент XSLT или LINQPad/.NET), которые позволяют легко анализировать эту информацию после факта?

4 ответа

Решение

Fiddler поддерживает импорт HTTP-архива XML (экспортированного из вкладки сети инструментов разработчика IE9) в соответствии с его блогом

Для тех, кто анализирует журналы клиентов, у которых нет окна Windows для запуска Fiddler...

Оказывается, что XML, который создает IE, это просто HAR в XML, а не в формате JSON. Я написал конвертер, чтобы превратить его в обычный файл HAR: https://gist.github.com/craigds/00331c6ff8fd2334de68a52ef0cd79c2

Требуется Python и LXML.

Fiddler может читать их сейчас (но не через импорт):

  1. Файл> Импорт сессий
  2. Выберите IE F12 NetXML Format.
  3. Выберите правильный файл
  4. PROFIT!

Вот пример XLST для воспроизведения NetworkData.xml в браузере, не полный, но вы поймете идею.

Отредактируйте NetworkData.xml и добавьте

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="NDTable.xsl" ?>

в начале

Сохраните следующий XML в NDTable.xsl

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>
    <xsl:template match="/">
        <html>
            <xsl:apply-templates/>
        </html>

    </xsl:template>


    <xsl:template match="log">
        <head>
            <Title>
                <xsl:value-of select="creator/name"/>
            </Title>
        </head>
        <body>
            <h1>
                <xsl:value-of select="creator/name" />
            </h1>
            <P>Started at <xsl:value-of select="pages/page/startedDateTime" />
            </P>
            <table border="1">
                <tr>
                    <th>Request</th>
                    <th>Response</th>
                </tr>
                <xsl:apply-templates select="entries" />
            </table>
        </body>

    </xsl:template>

    <xsl:template match="entry">
        <tr> 
            <td>
                <xsl:apply-templates select="request" />
            </td>
            <td valig="top">
                <xsl:apply-templates select="response" />
            </td>

        </tr>


    </xsl:template>

    <xsl:template match="request">
        <table>
            <tr>
                <td valign="top">
                    <xsl:value-of select="method" />
                </td>
                <td>
                    <xsl:value-of select="url" />
                    <table>
                        <tr>
                            <th>Headers</th>
                        </tr>
                        <tr>
                            <td> </td>
                            <td>
                                <xsl:apply-templates select="headers/header[not(name='Cookie')]" />
                            </td>
                        </tr>
                    </table>
                    <table>
                        <tr>
                            <th>Cookies</th>
                        </tr>

                        <xsl:apply-templates select="cookies" />
                    </table>
                </td>
            </tr>
        </table>
    </xsl:template> 
    <xsl:template match="response">
        <table>
            <td>
                <xsl:value-of select="status" /> <span>.</span><xsl:value-of select="statusText" />
                <br/>
                    <table>
                        <tr>
                            <th>Headers</th>
                        </tr>
                        <tr>
                            <td> </td>
                            <td>
                                <xsl:apply-templates select="headers/header" />
                            </td>
                        </tr>
                    </table>
<div style='background-color: #C0C0C0'> <xsl:value-of select="content/text" /> </div>                   
            </td>
        </table>
    </xsl:template> 
    <xsl:template match="header">
        <xsl:value-of select="name" /> : <xsl:value-of select="value" />
        <br/>
    </xsl:template> 
    <xsl:template match="cookie">
        <tr>
            <td> </td>
            <td valign="top">
                <xsl:value-of select="name" />
            </td>
            <td>
                <xsl:value-of select="value" />
            </td>
        </tr>
    </xsl:template> 
</xsl:stylesheet>
Другие вопросы по тегам