Introduction

This article is also available in Serbo-Croatian and Slovak.

This article explains how to obtain a HTTP trace. That is, to obtain the text that is send to the server and back when requesting a webpage. These tools are discussed:

NameMethodLanguageFeaturesPlatform
Wiresharkpacket captureCmediumcross platform
FiddlerWinInet / HTTP proxy.NETextensiveWindows
HttpdbgHTTP proxyCsimpleUnix
Burp ProxyHTTP proxyJavaextensivecross platform
TCPWatchport forward / HTTP proxyPythonsimplecross platform

An example dump:

GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
If-Modified-Since: Thu, 21 Jan 2010 21:54:15 GMT
If-None-Match: "1f7804a-2c-47db3be780fc0"
Cache-Control: max-age=0

HTTP/1.1 304 Not Modified
Date: Mon, 15 Feb 2010 15:33:05 GMT
Server: Apache/2
Connection: Keep-Alive
Keep-Alive: timeout=1, max=100
ETag: "1f7804a-2c-47db3be780fc0"
Vary: Accept-Encoding,User-Agent

More tools: