关于截包内容的显示解决思路
关于截包内容的显示
我用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肯定是得不到正确得数据长度得。需要根据数据协议来取正确的数据包
------解决方案--------------------
我用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肯定是得不到正确得数据长度得。需要根据数据协议来取正确的数据包
------解决方案--------------------