HttpTea - A HTTP / HTTPS Protocol Logger
What is this Program doing?HTTP (Hyper Text Transfer Protocol) is an ASCII protocol used to transfer data between a your browser and the WEB servers (the other site of the internet).
This program allows you to:
Why do I need this Program?This program is made everyone who is constructing and debugging WEB applications. However, if your application consists only of a number of HTML pages, you will not need this program. If your are doing more complex dynamic WEB application using PHP or J2EE, you'll know about problems like:
I'm working with complex WEB application since some years and during this time I've learned HttpTea all that I ever needed to see or alter in the HTTP protocol. This may or may not fit your needs. If it does not - feel free to improve the program!
How do I Start this Program?First of all, you need a Java runtime environment. The following Java versions are supported:
java -versionTo start the program use:
java -jar HttpTea.jar [options]+First of all, you should view the help texts of the program. Use:
java -jar HttpTea.jar -? 1To get informations about the different options use:
java -jar HttpTea.jar -? <option> Example: java -jar HttpTea.jar -? lThe most important option is the "-l" option. With this option, you specify on which port the program is listening.
How this the Program Working?The program sits between the client (your WEB browser) and the server much like a proxy. What ever the browser of the server are sending, is displayed on the console.
Simple ConfigurationOn the client site HttpTea is wired in between the client browser and the server like a proxy server.
.............................. . local PC . +------+ . +-------+ +-------+ : /--->|Server| . |Browser|------>o|HttpTea|-----/ +------+ . +-------+ ^+-------+ : . | . . | . . Listener Port . ..............................Required settings:
Configuration with Proxy ServerOn the client site HttpTea is wired in between the client browser and the proxy server.
.............................. . local PC . +------+ . +-------+ +-------+ : /-->o|Proxy-|-\ +----------+ . |Browser|------>o|HttpTea|-----/ ^| Host | \--o|App.Server| . +-------+ ^+-------+ : |+------+ +----------+ . | . | . | . Proxy-Port . Listener Port . ..............................Required settings:
Configuration Example 1
HttpTea -l 9001 -p 220.127.116.11:1001 -x "138.221.*;www.heute.de"HttpTea will listen at port 9001 and send all requests to the proxy server 18.104.22.168:1001. Requests for IP addresses beginning with 138.221. are not send to the proxy server but directly to their target. The same is true for any requests for the host www.heute.de
Configuration Example 2
HttpTea -l 9001 -h www.heute.de=22.214.171.124 -h www.yahoo.com=126.96.36.199 -h www.yahoo.com:8080=www.google.com:80HttpTea will listen a port 9001. All requests for the hosts www.heute.de and www.yahoo.com will be deferred to 188.8.131.52. Any request for host www.yahoo.com on port 8080 will be deferred to www.google.com on port 80.
Configuration Example 3
HttpTea -l 9001 -H www.heute.de=184.108.40.206 -H www.yahoo.com=220.127.116.11HttpTea will listen a port 9001. Any HTTP Redirect that the server sends to the client browser which point to a location on the hosts www.heute.de or www.yahoo.com will be modified to point to the host 18.104.22.168 instead. HttpTea will change the content of the LOCATION attribute in the HTTP header.
General Options: -? [1..n] Display help. -? [a..z] Display information about an options. +/-i Toggle display of HttpTea configuration. -l port Listener port. +/-n Toggle display of thread number. -p host[:port] Proxy host and port. -r Raw Mode. The HTTP protocoll is not analyzed. -s 0..n Client socket timeout. -S 0..n Server socket timeout in ms. -v 0..5 Verbose level. 0=none;1=error;2=warning;3=info;>3=debug -y 0..n Buffer size. HTTP Options: -a