How can I (maybe with a proxy, but I need names of programs!?) log all my interactions of programs with my Internet connection, so that I could see WHAT a program is sending and WHAT it is receiving. (For example a program receives an XML Doc and I would like to read it.)

Also it would be very useful if I could modify every connection. For example programs trying to connect with: anyserver.amznsrv.com:4599, and I would like to redirect it to localhost or something like that.

  • when you specify anyserver.amznsrv.com:4599, do you want to redirect only port 4599, or any connection to that server? And what OS are you using? Nov 15 '11 at 16:05

For tracking what is sent and received, you can use a packet sniffer. I use Wireshark (formerly Ethereal).


If you're dealing with HTTP (and/or HTTPS) on Windows, Fiddler might help you there:

  • it hooks into Winsock, so it can tell you the program name
  • it will show you all HTTP(s) requests and responses passing through it
  • and it allows you to modify those, either manually or through scripts

Adding to @Piskvor answer - if you need to look at HTTP layer, you should be looking for a intercepting HTTP(s) proxy. There are several such proxies available, both free and commercial ones. If you're on Windows, Fiddler is a good choice. On other platforms you could try:

All of them will probably be right for the task you specified.

  • 1
    Can one of them modify the packets and resend them?
    – planIT
    Nov 15 '11 at 15:23
  • not really packets, these tools work in HTTP layer, so you can modify HTTP requests / responses. But yes, these tools are designed specifically for that purpose to be used by web application penetration testers. Nov 15 '11 at 19:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.