There were quite a lot of people during the session on tools, tips and tricks for .NET developers. I even started early, because noone else could fit in the room. Whooah.
Nevertheless, I could not get all things covered in the half hour+. So here’s the rest of the tools. The links and documents are at the end.
Sometimes you want to see the information being sent over the network. This can be on a very low level, including all the bits and bytes of the wire format (TCP, UDP, whatever). In those cases you can use the Network Monitor (included in Windows 2000 Server and up, see under Add/Remove Programs, Windows Components, Network Utilities) or a similar tool called Ethereal. The latter also has builds for other platforms, in case you are doing some Mono development.
When you want to see network info a bit higher in the OSI model, say application level, such as HTTP traffic, then you could take a look at ProxyTrace. This tool will behave as a regular network proxy that you can configure in your network settings (Tools, Internet Options from IE, Connections, LAN Settings). Configure the dialog as shown and start the ProxyTrace tool.
All traffic will now pass the proxy and will be shown in the tool. Great for looking at all elements downloaded in webpages or SOAP messages send and received from web service proxy clients.
Important note: in the latter case of web service clients, make sure you configure the proxy class to use the network proxy like so:
MyWebServiceProxy client = new MyWebServiceProxy();
client.Proxy = new System.Net.WebProxy();
client.Url = “http://NEVERUSELOCALHOST/service1.asmx“;
Take a good look at the url: you should not use localhost when the web service is on the same box (your development machine, e.g.) even though you have configured to not bypass the proxy for local addresses. That’s because the proxy client will ignore that setting for localhost addresses.
You might also want to take a look at TcpTrace by the same guy that made ProxyTrace. This will allow interception of TCP packages (no UDP or ICMP). It listen on a certain port and redirects to another port.