Интерпретация трассировки сети
Если включена трассировка сети, ее можно использовать для записи вызовов, осуществляемых приложением к различным членам класса System.Net. Выходные данные этих вызовов могут быть аналогичны приведенным далее.
[588] (4357) Entering Socket#33574638::Send()
[588] (4387) Exiting Socket#33574638::Send()-> 61#61
В приведенном выше примере [588] — уникальный идентификатор текущего потока. (4357) и (4387) — метки времени, обозначающие количество миллисекунд, прошедших с момента запуска приложения. Данные, которые идут за меткой времени, указывают на приложение, начинающее и завершающее метод Socket.Send. Объект, выполняющий метод Send, имеет уникальный идентификатор 33574638. Трассировка завершения метода содержит возвращаемое значение (61 в предыдущем примере).
Сетевая трассировка может записывать сетевой трафик, отправленный из приложения или полученный им с помощью протоколов уровня приложения, таких как HTTP. Эти данные могут захватываться как текст и шестнадцатеричные данные. Шестнадцатеричные данные доступны при указании includehex в качестве значения атрибута tracemode. (Подробные сведения об этом атрибуте см. в разделе Практическое руководство. Настройка трассировки сети.) Следующий пример трассировки был создан с помощью includehex.
[1692] (1142) 00000000 : 47 45 54 20 2F 77 70 61-64 2E 64 61 74 20 48 54 : GET /wpad.dat HT
[1692] (1142) 00000010 : 54 50 2F 31 2E 31 0D 0A-48 6F 73 74 3A 20 69 74 : TP/1.1..Host: it
[1692] (1142) 00000020 : 67 70 72 6F 78 79 0D 0A-43 6F 6E 6E 65 63 74 69 : gproxy..Connecti
[1692] (1142) 00000030 : 6F 6E 3A 20 43 6C 6F 73-65 0D 0A 0D 0A : on: Close....
Чтобы опустить шестнадцатеричные данные, укажите protocolonly в качестве значения атрибута tracemode. В следующем примере показана трассировка с указанным значением protocolonly.
[2444] (594) Data from ConnectStream#33574638::WriteHeaders<<GET /wpad.dat HTTP/1.1
Host: itgproxy
Connection: Close