关于截包内容的显示解决思路

关于截包内容的显示
我用winpcap做了一个嗅探器,就是通过比对关键字来现实内容,做了MFC界面。但是没办法正常现实截到的包的内容。在截包中,数据在const u_char *pkt_data的指针中,但我要是strlen这个指针,得到的长度并不是数据包的长度。我如何才能在编辑框Cstring类中显示出pkt_data的全部内容?并且以文本方式现实,就像在wireshark中显示的那样。

wireshark中可以显示出如下的原始文本数据:

HTTP/1.1 200 OK

Server: nginx/0.7.68

Date: Mon, 21 Nov 2011 03:10:22 GMT

Content-Type: image/gif

Connection: keep-alive

X-Powered-By: PHP/5.2.17

Pragma: no-cache

Cache-Control: private, max-age=0, no-cache

Content-Length: 43



GIF89a.............!.......,...........D..;GET /gmlog.php

------解决方案--------------------
strlen是针对有终止符号的字符串,网络数据是二进制流的,为0的字节相当多,你直接strlen肯定是得不到正确得数据长度得。需要根据数据协议来取正确的数据包
------解决方案--------------------
探讨
strlen是针对有终止符号的字符串,网络数据是二进制流的,为0的字节相当多,你直接strlen肯定是得不到正确得数据长度得。需要根据数据协议来取正确的数据包