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

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

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

Использование Internet Explorer Developer Tools Network Capture гласит:

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

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

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

4 ответов


Fiddler поддерживает импорт http-архива XML (экспортируется с вкладки IE9 Developer Tools Network) в соответствии с блог


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

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

требуется python и LXML.


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

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

здесь пример XLST для diplay 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>