Какие инструменты можно использовать для анализа журналов захвата сети Internet Explorer? - PullRequest
36 голосов
/ 02 декабря 2011

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

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

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

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

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

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

Ответы [ 4 ]

38 голосов
/ 04 апреля 2013

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

4 голосов
/ 14 июля 2016

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

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

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

3 голосов
/ 04 января 2017

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

  1. Файл> Импорт сеансов
  2. Выбор IE Формат FX NetXML .
  3. Выберите правильный файл
  4. PROFIT!
0 голосов
/ 01 июня 2018

Вот пример Образец 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>
...