What is the purpose of this software?
http://www.httpwatch.com/
I prefer the HTTPFox add-on for FireFox:
https://addons.mozilla.org/en-US/firefox/addon/6647
and Fiddler for IE:
http://www.fiddlertool.com/fiddler/
both offer similar functionality to httpwatch (but they are free).
It helps you analyze/debug/monitor the HTTP comunication between server and browser. It runs on the browser and tracks all HTTP traffic.
A small part of this task is also done by the firefox plugin Live HTTP Headers
Related
gRPC is based on HTTP/2, which (assumption) is widely supported by browsers. Therefore, I feel there should be no problem with gRPC from a browser.
However, it is clear that there is a problem. The protocol, grpc web, is different, as exists "due to browser limitation". There are also numerous blog post describing complicated tech stacks deployed to get gRPC to work from a browser.
I'm missing the actual problem - why does gRPC not simply work from browsers?
I now understand that browsers only supports HTTP/2 in the sense that they use it to fetch resources from the server on behalf of your application (javascript) code.
Javascipt application code can still only use HTTP/1 (which may be handled under the hood by the browser in an HTTP/2 connection). Therefore it is not possible for application code to use grpc.
If anyone should find where this is explained in the docs, it would be good to add a link to it here.
Most browsers use HTTP1.1 whereas GRPC only works with HTTP2. You can use nginx, envoy or traefic to run it behind a reverse proxy, very similar to how web sockets are often used behind a reverse proxy(in that case the http1 is upgraded to a websockets connection). The reverse proxy will send the grpc request sent over http1 to an http2 backend and vice versa. You can use Envoy(suggested/currently used by grpc-web), traefik(am using this personally) and nginx.
I would like to be able to monitor all the HTTP requests being made by a web page in an automated testing scenario.
I know how to drive browsers with Selenium.
Is there some kind of proxy that can be interacted with programatically. What would help is something that can be flagged to start recording all the HTTP requests then flagged to stop.
I believe FireFox has some proxy settings that can be driven from Selenium but Chrome is the highest priority browser for testing.
I have heard of BetaMax but think this is more about simulating and replaying REST calls rather than monitoring traffic programatically.
Take a look at Hoverfly and it has a mode where it acts as a proxy. I haven't used it, but I believe you can replay whatever is recorded by the proxy when the requests are re-sent. And yes there is an API.
I am trying to debug the server component of a mobile application. Are there any tools that will allow me to send a HTTPS request and view the response? At the moment I have a Windows computer next to a Mac.
Fiddler supports HTTPS. It's Windows-only, but you didn't specify a platform. There's plenty of others whatever your platform, though.
I want to sniff a local HTTP request to an ASP.NET web application.
Is telnet an option?
How do you capture packets to a web application?
Depending on your exact requirements, Fiddler may be sufficient.
http://www.wireshark.org/ is a very advanced and free sniffer/protocol analyzer. I use it on our servers to monitor things from sip protocol info to raw http data. Its all you need and you can add filter rules to just get the data from certain IP etc. ie:
ip.addr == 192.168.1.1
Raw packets and headers all included.
For ease of setup, I personally would use either the Tamper Data (https://addons.mozilla.org/en-US/firefox/addon/966) or Live HTTP Headers (https://addons.mozilla.org/addon/3829) plugin for the FireFox browser - or for a lower level solution WireShark (http://www.wireshark.org/)
Have you tried browser plugins that allow you to do this? Firebug, etc.
I found this in another post, it works
http://socketsniff.nirsoft-freeware.qarchive.org/_download2.html
There are browser add-ins that can make sniffing of the HTTP requests easy:
For Internet Explorer, there is the Fiddler Web Debugger.
For Firefox, there is the Live HTTP Headers add-in.
I need to track http/url requests & redirects from a windows forms application using C#. It should handle both IE & firefox. Not sure if Fiddler is open-source but if i'm not mistaken, it's written using .NET. Sample codes or online articles on how to listen to http/url requests & redirects will be appreciated.
Thanks!
Fiddler works as standard HTTP proxy. There is no magic here. See HTTP protocol for details. In both IE/Firefox, you need to set Fiddler (or your custom program) as proxy, and then browser will use it for all outgoing requests. Proxy is responsible for forwarding request to correct server, and returning response. Proxies are typically used for 1) caching, 2) controlling access (and avoiding firewalls), 3) debugging.
See also Open Source Proxy Library for .Net for .NET proxy library (just quick googling... I have no experience with it).
You'd probably be interested in the new FiddlerCore library: http://fiddler.wikidot.com/fiddlercore