搜索
bottom↓
回复: 1

TCP/IP的一个很诡异的问题(图片传输)

[复制链接]

出0入0汤圆

发表于 2009-8-7 16:16:49 | 显示全部楼层 |阅读模式
在使用ZLG/IP和UCTCP/IP的过程中遇到下面这个很诡异的问题:

同样的WEB页,使用ZLG/IP实现一个简单的WEB页面,可以正常看到图片显示,但在使用UCTCP/IP时可以显示网页但图片却显示不出来。

通过用OmniPeek抓包对比,并未发现异常。两个协议栈测试N次,UCTCP/IP就是不能正常显示图片。以下是抓包数据,请高手们帮忙解疑。

一、使用ZLG/IP正常显示图片的数据包:
zlg/ip 数据包ourdev_468396.gif(文件大小:900K,只有400K以内的图片才能直接显示) (原文件名:zlg1.gif)

下面是 HTTP的图片的头信息和图片数据的数据包清单:

(1)HTTP的图片的头信息:


Packet Info

  Packet Number:        25

  Flags:                0x00000000

  Status:               0x00000000

  Packet Length:        227

  Timestamp:            15:24:20.764496000 08/07/2009

Ethernet Header

  Destination:          00:24:8C:7A:A9:F5  [0-5]

  Source:               52:54:4C:19:F7:42  [6-11]

  Protocol Type:        0x0800  IP  [12-13]

IP Header - Internet Protocol Datagram

  Version:              4  [14 Mask 0xF0]

  Header Length:        5  (20 bytes)  [14 Mask 0x0F]

  Differentiated Services:%00000000  [15]

                        0000 00.. Default

                        .... ..00 Not-ECT



  Total Length:         209  [16-17]

  Identifier:           22  [18-19]

  Fragmentation Flags:  %010  [20 Mask 0xE0]

                        0.. Reserved

                        .1. Do Not Fragment

                        ..0 Last Fragment



  Fragment Offset:      0  (0 bytes)  [20-21 Mask 0x1FFF]

  Time To Live:         128  [22]

  Protocol:             6  TCP - Transmission Control Protocol  [23]

  Header Checksum:      0x77DE  [24-25]

  Source IP Address:    192.168.0.174  [26-29]

  Dest. IP Address:     192.168.0.52  [30-33]

TCP - Transport Control Protocol

  Source Port:          80  http  [34-35]

  Destination Port:     1998  x25-svc-port  [36-37]

  Sequence Number:      32452  [38-41]

  Ack Number:           1576274426  [42-45]

  TCP Offset:           5  (20 bytes)  [46 Mask 0xF0]

  Reserved:             %0000  [46 Mask 0x0F]

  TCP Flags:            %00011000  ...AP...  [47]

                        0... .... (No Congestion Window Reduction)

                        .0.. .... (No ECN-Echo)

                        ..0. .... (No Urgent pointer)

                        ...1 .... Ack

                        .... 1... Push

                        .... .0.. (No Reset)

                        .... ..0. (No SYN)

                        .... ...0 (No FIN)



  Window:               1460  [48-49]

  TCP Checksum:         0xC579  [50-51]

  Urgent Pointer:       0  [52-53]

  No TCP Options

HTTP - Hyper Text Transfer Protocol

  HTTP Version:         HTTP/1.0  [54-61]

  HTTP Status:          200  [62-64]

  HTTP Reason:          OK<CR><LF>  [66-67]

Date:                   Mon, 24 Nov 2003 01:24:17 GMT<CR><LF>  [71-104]

Server:                 microHttp/1.0 Zlgmcu Corporation<CR><LF>  [108-146]

Accept-Ranges:          bytes<CR><LF>  [150-168]

Connection:             Keep-Close<CR><LF>  [172-192]

Content-Type:           image/bmp<CR><LF><CR><LF>  [196-217]

FCS - Frame Check Sequence

  FCS:                  0xDCC474F9  Calculated

(2)图片传输的数据包:



Packet Info

  Packet Number:        27

  Flags:                0x00000000

  Status:               0x00000000

  Packet Length:        500

  Timestamp:            15:24:20.964443000 08/07/2009

Ethernet Header

  Destination:          00:24:8C:7A:A9:F5  [0-5]

  Source:               52:54:4C:19:F7:42  [6-11]

  Protocol Type:        0x0800  IP  [12-13]

IP Header - Internet Protocol Datagram

  Version:              4  [14 Mask 0xF0]

  Header Length:        5  (20 bytes)  [14 Mask 0x0F]

  Differentiated Services:%00000000  [15]

                        0000 00.. Default

                        .... ..00 Not-ECT



  Total Length:         482  [16-17]

  Identifier:           23  [18-19]

  Fragmentation Flags:  %010  [20 Mask 0xE0]

                        0.. Reserved

                        .1. Do Not Fragment

                        ..0 Last Fragment



  Fragment Offset:      0  (0 bytes)  [20-21 Mask 0x1FFF]

  Time To Live:         128  [22]

  Protocol:             6  TCP - Transmission Control Protocol  [23]

  Header Checksum:      0x76CC  [24-25]

  Source IP Address:    192.168.0.174  [26-29]

  Dest. IP Address:     192.168.0.52  [30-33]

TCP - Transport Control Protocol

  Source Port:          80  http  [34-35]

  Destination Port:     1998  x25-svc-port  [36-37]

  Sequence Number:      32621  [38-41]

  Ack Number:           1576274426  [42-45]

  TCP Offset:           5  (20 bytes)  [46 Mask 0xF0]

  Reserved:             %0000  [46 Mask 0x0F]

  TCP Flags:            %00011000  ...AP...  [47]

                        0... .... (No Congestion Window Reduction)

                        .0.. .... (No ECN-Echo)

                        ..0. .... (No Urgent pointer)

                        ...1 .... Ack

                        .... 1... Push

                        .... .0.. (No Reset)

                        .... ..0. (No SYN)

                        .... ...0 (No FIN)



  Window:               1460  [48-49]

  TCP Checksum:         0x5179  [50-51]

  Urgent Pointer:       0  [52-53]

  No TCP Options

HTTP - Hyper Text Transfer Protocol

  Continuation of existing HTTP stream

  Binary Data:

  BM........v...(.  42 4D B6 01 00 00 00 00 00 00 76 00 00 00 28 00  [54-69]

  ................  00 00 1A 00 00 00 14 00 00 00 01 00 04 00 00 00  [70-85]

  ..@.............  00 00 40 01 00 00 C4 0E 00 00 C4 0E 00 00 00 00  [86-101]

  ................  00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80  [102-117]

  ................  00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80  [118-133]

  ................  00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF  [134-149]

  ................  00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF  [150-165]

  ................  00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF  [166-181]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [182-197]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [198-213]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [214-229]

  ..............f.  FF FF FF 00 00 00 FF FF FF FF FF FF FF F6 66 FF  [230-245]

  ...............o  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF 6F  [246-261]

  .........ffoo.ff  FF FF FF 00 00 00 FF FF FF 66 66 6F 6F FF 66 66  [262-277]

  ............o...  FF FF FF 00 00 00 FF FF FF F6 FF FF 6F F6 FF F6  [278-293]

  ..........o.o...  FF FF FF 00 00 00 FF FF FF FF 6F FF 6F F6 FF F6  [294-309]

  ................  FF FF FF 00 00 00 FF FF FF FF F6 FF F6 F6 FF FF  [310-325]

  o..........o..o.  6F FF FF 00 00 00 FF FF FF FF FF 6F F6 FF 6F FF  [326-341]

  o.........ff...f  6F FF FF 00 00 00 FF FF FF F6 66 66 F6 FF F6 66  [342-357]

  o............o..  6F FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [358-373]

  .............o..  FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [374-389]

  .............o..  FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [390-405]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [406-421]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [422-437]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [438-453]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [454-469]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [470-485]

  ..........        FF FF FF 00 00 00 00 00 00 00  [486-495]

FCS - Frame Check Sequence

  FCS:                  0xC06BDBAA  Calculated

以上是使用ZLG/IP传输,截到的数据包,浏览器收到以上数据包就可以正常地完整地显示一个带背景图片的简单页面。

二、使用UCTCP/IP不能显示图片的数据包:
uctcp/ip 数据包ourdev_468397.gif(文件大小:537K,只有400K以内的图片才能直接显示) (原文件名:uctcp1.gif)



下面是 HTTP的图片的头信息和图片数据的数据包清单:

(1)HTTP的图片的头信息:



Packet Info

  Packet Number:        15

  Flags:                0x00000000

  Status:               0x00000000

  Packet Length:        228

  Timestamp:            15:29:57.295196000 08/07/2009

Ethernet Header

  Destination:          00:24:8C:7A:A9:F5  [0-5]

  Source:               00:50:C2:25:61:34  Ieee Registration Authority:25:61:34  [6-11]

  Protocol Type:        0x0800  IP  [12-13]

IP Header - Internet Protocol Datagram

  Version:              4  [14 Mask 0xF0]

  Header Length:        5  (20 bytes)  [14 Mask 0x0F]

  Differentiated Services:%00000000  [15]

                        0000 00.. Default

                        .... ..00 Not-ECT



  Total Length:         210  [16-17]

  Identifier:           7  [18-19]

  Fragmentation Flags:  %000  [20 Mask 0xE0]

                        0.. Reserved

                        .0. May Fragment

                        ..0 Last Fragment



  Fragment Offset:      0  (0 bytes)  [20-21 Mask 0x1FFF]

  Time To Live:         128  [22]

  Protocol:             6  TCP - Transmission Control Protocol  [23]

  Header Checksum:      0xB7EC  [24-25]

  Source IP Address:    192.168.0.174  [26-29]

  Dest. IP Address:     192.168.0.52  [30-33]

TCP - Transport Control Protocol

  Source Port:          80  http  [34-35]

  Destination Port:     2094  nbx-au  [36-37]

  Sequence Number:      70528  [38-41]

  Ack Number:           1782436267  [42-45]

  TCP Offset:           5  (20 bytes)  [46 Mask 0xF0]

  Reserved:             %0000  [46 Mask 0x0F]

  TCP Flags:            %00011000  ...AP...  [47]

                        0... .... (No Congestion Window Reduction)

                        .0.. .... (No ECN-Echo)

                        ..0. .... (No Urgent pointer)

                        ...1 .... Ack

                        .... 1... Push

                        .... .0.. (No Reset)

                        .... ..0. (No SYN)

                        .... ...0 (No FIN)



  Window:               3778  [48-49]

  TCP Checksum:         0x5353  [50-51]

  Urgent Pointer:       0  [52-53]

  No TCP Options

HTTP - Hyper Text Transfer Protocol

  HTTP Version:         HTTP/1.0  [54-61]

  HTTP Status:          200  [62-64]

  HTTP Reason:          OK<CR><LF>  [66-67]

Date:                   Mon, 24 Nov 2003 01:24:17 GMT<CR><LF>  [71-104]

Server:                 microHttp/1.0 Zlgmcu Corporation<CR><LF>  [108-146]

Accept-Ranges:          bytes<CR><LF>  [150-168]

Connection:             Keep-Close<CR><LF>  [172-192]

Content-Type:           image/bmp<CR><LF><CR><LF><NUL>  [196-217]

FCS - Frame Check Sequence

  FCS:                  0x3F3DB3CF  Calculated

(2)图片传输的数据包:



Packet Info

  Packet Number:        16

  Flags:                0x00000000

  Status:               0x00000000

  Packet Length:        500

  Timestamp:            15:29:57.299183000 08/07/2009

Ethernet Header

  Destination:          00:24:8C:7A:A9:F5  [0-5]

  Source:               00:50:C2:25:61:34  Ieee Registration Authority:25:61:34  [6-11]

  Protocol Type:        0x0800  IP  [12-13]

IP Header - Internet Protocol Datagram

  Version:              4  [14 Mask 0xF0]

  Header Length:        5  (20 bytes)  [14 Mask 0x0F]

  Differentiated Services:%00000000  [15]

                        0000 00.. Default

                        .... ..00 Not-ECT



  Total Length:         482  [16-17]

  Identifier:           8  [18-19]

  Fragmentation Flags:  %000  [20 Mask 0xE0]

                        0.. Reserved

                        .0. May Fragment

                        ..0 Last Fragment



  Fragment Offset:      0  (0 bytes)  [20-21 Mask 0x1FFF]

  Time To Live:         128  [22]

  Protocol:             6  TCP - Transmission Control Protocol  [23]

  Header Checksum:      0xB6DB  [24-25]

  Source IP Address:    192.168.0.174  [26-29]

  Dest. IP Address:     192.168.0.52  [30-33]

TCP - Transport Control Protocol

  Source Port:          80  http  [34-35]

  Destination Port:     2094  nbx-au  [36-37]

  Sequence Number:      70698  [38-41]

  Ack Number:           1782436267  [42-45]

  TCP Offset:           5  (20 bytes)  [46 Mask 0xF0]

  Reserved:             %0000  [46 Mask 0x0F]

  TCP Flags:            %00011001  ...AP..F  [47]

                        0... .... (No Congestion Window Reduction)

                        .0.. .... (No ECN-Echo)

                        ..0. .... (No Urgent pointer)

                        ...1 .... Ack

                        .... 1... Push

                        .... .0.. (No Reset)

                        .... ..0. (No SYN)

                        .... ...1 FIN



  Window:               3778  [48-49]

  TCP Checksum:         0xDF51  [50-51]

  Urgent Pointer:       0  [52-53]

  No TCP Options

HTTP - Hyper Text Transfer Protocol

  Continuation of existing HTTP stream

  Binary Data:

  BM........v...(.  42 4D B6 01 00 00 00 00 00 00 76 00 00 00 28 00  [54-69]

  ................  00 00 1A 00 00 00 14 00 00 00 01 00 04 00 00 00  [70-85]

  ..@.............  00 00 40 01 00 00 C4 0E 00 00 C4 0E 00 00 00 00  [86-101]

  ................  00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80  [102-117]

  ................  00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80  [118-133]

  ................  00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF  [134-149]

  ................  00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF  [150-165]

  ................  00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF  [166-181]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [182-197]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [198-213]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [214-229]

  ..............f.  FF FF FF 00 00 00 FF FF FF FF FF FF FF F6 66 FF  [230-245]

  ...............o  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF 6F  [246-261]

  .........ffoo.ff  FF FF FF 00 00 00 FF FF FF 66 66 6F 6F FF 66 66  [262-277]

  ............o...  FF FF FF 00 00 00 FF FF FF F6 FF FF 6F F6 FF F6  [278-293]

  ..........o.o...  FF FF FF 00 00 00 FF FF FF FF 6F FF 6F F6 FF F6  [294-309]

  ................  FF FF FF 00 00 00 FF FF FF FF F6 FF F6 F6 FF FF  [310-325]

  o..........o..o.  6F FF FF 00 00 00 FF FF FF FF FF 6F F6 FF 6F FF  [326-341]

  o.........ff...f  6F FF FF 00 00 00 FF FF FF F6 66 66 F6 FF F6 66  [342-357]

  o............o..  6F FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [358-373]

  .............o..  FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [374-389]

  .............o..  FF FF FF 00 00 00 FF FF FF FF FF FF FF 6F FF FF  [390-405]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [406-421]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [422-437]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [438-453]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [454-469]

  ................  FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF  [470-485]

  ..........        FF FF FF 00 00 00 00 00 00 00  [486-495]

FCS - Frame Check Sequence

  FCS:                  0xAC53E1C3  Calculated

以上为UC/TCPIP发送一个简单页面的数据包,经过分析数据包,其实可以看到发送到浏览器端的HTTP的信息头以及图片的数据都是一样的,但是使用ZLG/IP的就可以看到图片,而使用UCTCP/IP测试N次都显示不出图片,我试了多次单机对单机测试同样收不到图片。

不知道是怎么回事,请各路高手给指点指点吧。


2009-08-07 PM

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-8-7 17:36:15 | 显示全部楼层
自己顶一下
这里发的格式不太清楚,换个地址
http://blog.csdn.net/pigeon0411/archive/2009/08/07/4422954.aspx
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 15:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表