Article
· 4 hr ago 2m read

Network Debugging for Beginners - 2

In my previous article, I structured network communications
in these 3 possible layers, and covered the last

  • Client <---> Transport
  • Server <---> Transport
  • Client <---> Server

In fact, you have the most control over the last one.
The IRIS side as a server is yours and under your full control. 
Up to now, the Transport layer was assumed to be as passive as a bare wire.

This assumption should be verified. I once met a Windows environment with
a quite surprising setup where a Firewall-like filter was isolating internal
processes and causing a lot of trouble.

? What can you do about the  Transport section ?

In a typical setup, firewalls filter and/or block selected connections by Web Address
or by type of protocol.  WebSockets seems to be one of their preferred targets.  
And even Microsoft's IIS requires special settings to pass along the WebSocket protocol.

Now we have reached the wire. If there is no direct connection as in a LAN,
every router you have to pass is expected to just forward messages.
Though they might also be a show stopper, acting like a firewall.

It's eventually a rare case, but it could never be excluded.
And there is still another dimension related to the Transport.
Earlier we have seen what we think to receive and what we expect to send.

? Is this the reality out on the wires ?

I know of 2 tools I have used that helped me along often.
Both act by the same principle as a tunnel and mimic client and server.
Receive messages, log them with timestamps, and forward them to the other end.

The ultimate tool is Wireshark. I guess no bit on the wire can escape from it.
Though it is easy to start, the correct interpretation is a science that requires
related experience and deep digging into details.
Being in networks for almost 60 years, it was the best tool in that area I have ever met.
It is to me what Mona Lisa might be for painters or Mount Everest for climbers.

But in most average troubleshooting exercises it's an overkill.
TCPtrace creates a tunnel and keeps track of what is going forward and back.
For some time, it is also able to handle UDP protocol too.
And it is really easy to handle and to consume! 

As you have seen in the simple example with  our management portal:

  • What you see in IRIS in the CSP page is HTML and JavaScript
  • What you see in the browser is also just HTML and JavaScript
  • But invisible and under cover, headers and cookies are traveling along

You may face situations where your problem is exactly hidden there.
The experiment with manually composed HTML showed it.

Discussion (0)1
Log in or sign up to continue