cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Problem downloading with 7.10.5

From: Ben <nascarben_at_excite.com>
Date: Tue, 27 Sep 2005 11:22:46 -0400 (EDT)

What I am seeing is that I can connect to the server just fine and download txt files without a problem, but when I try and connect and download exe files I immediately get error 23 (COULDNT WRITE). From doing the packet sniffing when I run the debug version I see this flow
Debug:
Direction of Request Protocol Info
Client to Server HTTP GET "path to file/file.exe HTTP1.1
Server to Client TCP http [ACK]
Server to Client HTTP HTTP/1.1 200 OK (application/octet-stream)
Server to Client HTTP Continuation or non-HTTP traffic
Client to Server TCP [ACK]
Below is the body of the three server packets.
Packet #1
No. Time Source Destination Protocol Info
     24 9.681006 Server Client TCP http > 1327 [ACK] Seq=1 Ack=217 Win=6432 Len=0

Frame 24 (60 bytes on wire, 60 bytes captured)
    Arrival Time: Sep 27, 2005 10:47:13.001661000
    Time delta from previous packet: 0.019843000 seconds
    Time since reference or first frame: 9.681006000 seconds
    Frame Number: 24
    Packet Length: 60 bytes
    Capture Length: 60 bytes
    Protocols in frame: eth:ip:tcp
Ethernet II, Src: 10.58.32.1 (00:12:80:18:87:51), Dst: Client (00:c0:9f:95:6d:ae)
    Destination: Client (00:c0:9f:95:6d:ae)
    Source: 10.58.32.1 (00:12:80:18:87:51)
    Type: IP (0x0800)
    Trailer: 000000000000
Internet Protocol, Src: Server (Server), Dst: Client (Client)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 40
    Identification: 0xe6ef (59119)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 59
    Protocol: TCP (0x06)
    Header checksum: 0xf63d [correct]
    Source: Server (Server)
    Destination: Client (Client)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1327 (1327), Seq: 1, Ack: 217, Len: 0
    Source port: http (80)
    Destination port: 1327 (1327)
    Sequence number: 1 (relative sequence number)
    Acknowledgement number: 217 (relative ack number)
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0xdbcd [correct]
    SEQ/ACK analysis
        This is an ACK to the segment in frame: 23
        The RTT to ACK the segment was: 0.019843000 seconds

Packet #2
No. Time Source Destination Protocol Info
     25 9.704082 Server Client HTTP HTTP/1.1 200 OK (application/octet-stream)

Frame 25 (1314 bytes on wire, 1314 bytes captured)
    Arrival Time: Sep 27, 2005 10:47:13.024737000
    Time delta from previous packet: 0.023076000 seconds
    Time since reference or first frame: 9.704082000 seconds
    Frame Number: 25
    Packet Length: 1314 bytes
    Capture Length: 1314 bytes
    Protocols in frame: eth:ip:tcp:http:media
Ethernet II, Src: 10.58.32.1 (00:12:80:18:87:51), Dst: Client (00:c0:9f:95:6d:ae)
    Destination: Client (00:c0:9f:95:6d:ae)
    Source: 10.58.32.1 (00:12:80:18:87:51)
    Type: IP (0x0800)
Internet Protocol, Src: Server (Server), Dst: Client (Client)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 1300
    Identification: 0xe6f0 (59120)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 59
    Protocol: TCP (0x06)
    Header checksum: 0xf150 [correct]
    Source: Server (Server)
    Destination: Client (Client)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1327 (1327), Seq: 1, Ack: 217, Len: 1260
    Source port: http (80)
    Destination port: 1327 (1327)
    Sequence number: 1 (relative sequence number)
    Next sequence number: 1261 (relative sequence number)
    Acknowledgement number: 217 (relative ack number)
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0x1f8a [correct]
Hypertext Transfer Protocol
    HTTP/1.1 200 OK\r\n
        Request Version: HTTP/1.1
        Response Code: 200
    Server: Apache\r\n
    ETag: "640dd42d19530fc71f219e27072462a2:1127145625"\r\n
    Last-Modified: Mon, 19 Sep 2005 16:00:25 GMT\r\n
    Accept-Ranges: bytes\r\n
    Content-Length: 2562990\r\n
    Content-Type: application/octet-stream\r\n
    Date: Tue, 27 Sep 2005 14:46:45 GMT\r\n
    Connection: keep-alive\r\n
    \r\n
Media Type: application/octet-stream (978 bytes)

Packet #3
No. Time Source Destination Protocol Info
     26 9.714403 Server Client HTTP Continuation or non-HTTP traffic

Frame 26 (1314 bytes on wire, 1314 bytes captured)
    Arrival Time: Sep 27, 2005 10:47:13.035058000
    Time delta from previous packet: 0.010321000 seconds
    Time since reference or first frame: 9.714403000 seconds
    Frame Number: 26
    Packet Length: 1314 bytes
    Capture Length: 1314 bytes
    Protocols in frame: eth:ip:tcp:http:data
Ethernet II, Src: 10.58.32.1 (00:12:80:18:87:51), Dst: Client (00:c0:9f:95:6d:ae)
    Destination: Client (00:c0:9f:95:6d:ae)
    Source: 10.58.32.1 (00:12:80:18:87:51)
    Type: IP (0x0800)
Internet Protocol, Src: Server (Server), Dst: Client (Client)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 1300
    Identification: 0xe6f1 (59121)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 59
    Protocol: TCP (0x06)
    Header checksum: 0xf14f [correct]
    Source: Server (Server)
    Destination: Client (Client)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1327 (1327), Seq: 1261, Ack: 217, Len: 1260
    Source port: http (80)
    Destination port: 1327 (1327)
    Sequence number: 1261 (relative sequence number)
    Next sequence number: 2521 (relative sequence number)
    Acknowledgement number: 217 (relative ack number)
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0xec73 [correct]
Hypertext Transfer Protocol
    Data (1260 bytes)

Now when I run the same test against the same server looking for the same files I am getting this flow.
Release:
Direction of flow Protocol Info
Client to Server HTTP GET "path to file/file.exe HTTP/1.1
Server to Client TCP http [ACK]
Server to Client HTTP HTTP/1.1 200 OK (application/octet-stream)
Client to Server TCP http [FIN,ACK]
Below I will put the two server packets
Packet #1
No. Time Source Destination Protocol Info
     32 10.207959 Server Client TCP http > 1348 [ACK] Seq=1 Ack=217 Win=6432 Len=0

Frame 32 (60 bytes on wire, 60 bytes captured)
    Arrival Time: Sep 27, 2005 11:10:26.395649000
    Time delta from previous packet: 0.017354000 seconds
    Time since reference or first frame: 10.207959000 seconds
    Frame Number: 32
    Packet Length: 60 bytes
    Capture Length: 60 bytes
    Protocols in frame: eth:ip:tcp
Ethernet II, Src: 10.58.32.1 (00:12:80:18:87:51), Dst: Client (00:c0:9f:95:6d:ae)
    Destination: Client (00:c0:9f:95:6d:ae)
    Source: 10.58.32.1 (00:12:80:18:87:51)
    Type: IP (0x0800)
    Trailer: 000000000000
Internet Protocol, Src: Server (Server), Dst: Client (Client)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 40
    Identification: 0xae01 (44545)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 59
    Protocol: TCP (0x06)
    Header checksum: 0x2f2c [correct]
    Source: Server (Server)
    Destination: Client (Client)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1348 (1348), Seq: 1, Ack: 217, Len: 0
    Source port: http (80)
    Destination port: 1348 (1348)
    Sequence number: 1 (relative sequence number)
    Acknowledgement number: 217 (relative ack number)
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0x1656 [correct]
    SEQ/ACK analysis
        This is an ACK to the segment in frame: 31
        The RTT to ACK the segment was: 0.017354000 seconds

Packet #2
No. Time Source Destination Protocol Info
     33 10.301449 Server Client HTTP HTTP/1.1 200 OK (application/octet-stream)

Frame 33 (1314 bytes on wire, 1314 bytes captured)
    Arrival Time: Sep 27, 2005 11:10:26.489139000
    Time delta from previous packet: 0.093490000 seconds
    Time since reference or first frame: 10.301449000 seconds
    Frame Number: 33
    Packet Length: 1314 bytes
    Capture Length: 1314 bytes
    Protocols in frame: eth:ip:tcp:http:media
Ethernet II, Src: 10.58.32.1 (00:12:80:18:87:51), Dst: Client (00:c0:9f:95:6d:ae)
    Destination: Client (00:c0:9f:95:6d:ae)
    Source: 10.58.32.1 (00:12:80:18:87:51)
    Type: IP (0x0800)
Internet Protocol, Src: Server (Server), Dst: Client (Client)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 1300
    Identification: 0xae02 (44546)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 59
    Protocol: TCP (0x06)
    Header checksum: 0x2a3f [correct]
    Source: Server (Server)
    Destination: Client (Client)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1348 (1348), Seq: 1, Ack: 217, Len: 1260
    Source port: http (80)
    Destination port: 1348 (1348)
    Sequence number: 1 (relative sequence number)
    Next sequence number: 1261 (relative sequence number)
    Acknowledgement number: 217 (relative ack number)
    Header length: 20 bytes
    Flags: 0x0010 (ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0x5612 [correct]
Hypertext Transfer Protocol
    HTTP/1.1 200 OK\r\n
        Request Version: HTTP/1.1
        Response Code: 200
    Server: Apache\r\n
    ETag: "640dd42d19530fc71f219e27072462a2:1127145625"\r\n
    Last-Modified: Mon, 19 Sep 2005 16:00:25 GMT\r\n
    Accept-Ranges: bytes\r\n
    Content-Length: 2562990\r\n
    Content-Type: application/octet-stream\r\n
    Date: Tue, 27 Sep 2005 15:09:58 GMT\r\n
    Connection: keep-alive\r\n
    \r\n
Media Type: application/octet-stream (978 bytes)

I hope that can shed a little more light on my problem for you all.

Your Friend,
Ben
Before you get led astray. Check those new "virus" emails to make sure you aren't being used.
McAfee
http://vil.mcafee.com/hoax.asp
Symantec/Norton
http://www.symantec.com/avcenter/
HoaxBusters
http://hoaxbusters.ciac.org/
General
http://www.internet-101.com/hoax/

_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
Received on 2005-09-27