Какие инструменты можно использовать для анализа журналов захвата сети 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 может читать их сейчас (но не через импорт):
- Файл> Импорт сессий
- Выберите IE F12 NetXML Format.
- Выберите правильный файл
- 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>