This question relates more to HTTP and web server responses than to WireShark, yet I am hoping that someone with intimate knowledge of comms and HTTP in particular, could take a look at the following and possibly offer insights. I have a device which issues GET and POST requests to a web endpoint. When the device issues these requests to an Apache web server, it responds properly to the Apache web server HTTP/1.1 200 OK responses. The WireShark capture appears as follows:
When the device issues these requests to an Microsoft-HTTPAPI/2.0 endpoint, it does not respond to the HTTP/1.1 200 OK responses. The WireShark capture appears as follows:
I will really appreciate any assistance which may shed light on the possible cause. asked 12 Sep '12, 01:26 oldevel edited 12 Sep '12, 03:29 SYN-bit ♦♦ |
2 Answers:
Well, this is not only not so much an HTTP question as it is a Wireshark question, it is more of an application specific question. Both responses are valid HTTP, but they do have different behavior. The biggest differences that stands out and can be a source of your device not responding properly is:
answered 12 Sep '12, 03:35 SYN-bit ♦♦ |
Thank you for your response. I have copied a few more responses below. From these responses, which also correspond to some information on how the device communication should work, it appears that no data is sent back from the web endpoint (web server) to the device, only OK. One thing that is somewhat contradictory here is that the Len: and Content length: fields in these responses appear to indicate otherwise, yet no corresponding data is visible in either the Info fields.
answered 12 Sep ‘12, 04:23 oldevel |
There is indeed data, click on the "Line-based text data" line and watch the corresponding hex data being highlighted. Or do a "Follow TCP stream" on the response packet.
Then from the increasing port numbers it looks like there is a new TCP connection for every object being transferred, even though the default in HTTP/1.1 is to keep the connection open. Does the client or the server close the connection?
Can you post a capture file to www.cloudshark.org and paste the link to it here?
(You may want to use bittwiste to remove the IP adresses)
I am new to WireShark, and used "Export Packet Dissections as Plain Text File" to save the Capture for inspection in an editor. It appears that this Export option did not save the additional data which I now see is available. Your post has most certainly helped. Thank you.
I converted your "answer" to a "comment" as that's how this site works best, please see the FAQ for details.
Also, if you feel your question is answered, it is customary to accept the answer that answered your question by clicking on the check-mark next to it. This also removes the question from the "Ananswered Questions" list and helps other people to find the answers to their similar questions.
I converted your second comment to an answer (I hope all is correct now). Once again thank you for your comments and advice.
Actually, these were all comments to the same "answer" to keep the flow clear for others, it would have been better to leave that as a comment. But no worries... I don't think there will be more answers posted to this question (which will disrupt the flow, especially when people start liking answers which will change the order of answers).