When I apply the filter : ip.addr == 95.1.1.50 && ip.addr ==95.1.1.104, There is a massive delay shown at packet 2327. I'm really struggling to get my head around this. Could anyone set me in the right direction? The capture file is at: https://drive.google.com/file/d/0B6vUPsqTPCf8aFRYMGVuZ0dIa28/view?usp=sharing Many thanks, JW asked 17 Dec '15, 05:55 joewoody edited 17 Dec '15, 09:30 grahamb ♦ |
2 Answers:
You have to look for the answer at the application level, as everything looks just fine at TCP level. Frame 2327 contains an initial packet establishing a new TCP session towards 95.1.1.104:8888 (as it contains a SYN flag), and the previous session from the same client has been closed in a normal (i.e. not emergency) way. What is unusual is that it was the server (.104) who has initiated the closure by sending a FIN flag, quite soon after the session has been used for the last time (in particular, to transport the 304 response to the GET). This might possibly be explained by existence of a very aggressive firewall in the path, which would terminate idle TCP sessions after 5 seconds of inactivity. It can also be seen that the machine running the client application opens a new session for each request instead of reusing an already existing one, as sessions from two different tcp ports of that machine overlap in time. But this may be because two different instances of the client application are running there, or because there is actually a private subnet with several machines which is NATed to 95.1.1.50. In short, not enough information about the network topology to explain these induced questions. answered 17 Dec '15, 07:17 sindy
I dare to disagree with this statement. When you apply a display filter So as said, I would concentrate at the application level. I suppose that the .50 needs some information from the .87 to be able to send the It should help your understanding a lot to know what kind of information the .50 needs from the .87. To learn that, you have to capture the .50's exchange with both the .87 and the .104 right from .50's boot. This means that the capture should be taken
The reason is that as we don't know any details yet, we must assume that the exchange between .50 and .87 may take place already before you would be able to run the Wireshark capture on the .50 itself. (19 Dec '15, 09:16) sindy |
I am suspecting that you are proxying your application to an intermediate devices so that you can analyse the request and response that is being passed between the client and server. Here is a few things that I see from the packet capture,
answered 17 Dec '15, 09:38 hunghoong |
Here's a capture that represents what we would consider "normal" behaviour using the same filter - ip.addr == 95.1.1.50 && ip.addr ==95.1.1.104
https://drive.google.com/file/d/0B6vUPsqTPCf8SmZHMm9Rc2ZEYWM/view?usp=sharing
In this instance, the application loads up resonably quickly. However, we have a server at .87. When we turn this server off this is when we see the massive delays as in the original capture file. Spinning this server back up returns us to normality. Now, there's nothing in the captures to suggest the server at .87 is involved in any way at all. I've captured at the client (.50), appserver (.104) and also the server at .87. As I've said - with the server at .87 turned on, behaviour is normal.
However, with this server turned off and the proxy turned off in the client browser - the application loads normally.
With the server off and the proxy ON in the client browser - this consistently produces a 80-90 second delay in the loading of the application. The proxy server is at .88. Again, and I'm relatively new to this, there's nothing untoward showing in the captures. It appears that the proxy server is somehow interfering - but I can't think why!
Thanks, JW