Using TCPMon to listen to HTTP Requests and Responses

Looks like TCPMon is not more supported by apache as I can see this message on its home page @ This project is no longer supported. Any information may be inaccurate or incomplete. Old archived releases are available from here. However we will see tcpmon here quickly as it is very easy to configure and use for simple http request/response scenarios.

You can currently download the binary distribution from the archive download page:

Unzip to a folder, and go to its bin folder. Run the bat file or sh file based on your operating system. TCPMon will start with two tabs named Admin and Sender. In this exercise we are concerned only about Admin, which is a simple UI with option to set listen port, target port and host, along with some other parameters.

If your port from the original request URL is 8080, then you need to add it as the target port and then give any non-standard value as the listen port, and finally click add. When you run your URL, now you have to use the listen port instead of the standard port. You will actually be sending request to the TCPMon and then TCPMon will forward that request to the original host and port. You can also simulate slow connection from TCPMon through Admin tab.

For example, if your original request URL is http://localhost:8080/Form-Processing/UploadForm.html, you need to add 8080 to target and any other non-standard port, say 8888 as the listening port. Now you should run the URL as http://localhost:8888/Form-Processing/UploadForm.html. You will now see the request and response captured at the listening tab of tcpmon. 

Wireshark may a better alternative. Tcpmon will require your request to be sent to another port configured in the tcpmon than original port, and then tcpmon will capture the request and forward it to the original port. Similarly, it captures the response as well. While using wireshark, you don’t have to make any change to the request url. However wireshark does a lot of extra things and hence might take a little more time to learn and configure.

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) ArrayLists (1) Arrays (2) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (53) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (8) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (12) Java Programmer 2 (8) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) resources (1) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)