先谢谢了,问题如下:
我截获了我用msn7.0发出传输文件邀请的数据包,如下:
MSG 6 D 1348\r\n
    MIME-Version: 1.0\r\n
    Content-Type: application/x-msnmsgrp2p\r\n
    P2P-Dest: [email protected]\r\n
但是按照相关的协议,它应该是:
MSG 6 D 1348\r\n
    MIME-Version: 1.0\r\n
    Content-Type: application/x-msnmsgrp2p\r\n
    P2P-Dest: [email protected]\r\n
    \r\n
    \000\000\000\000-\037\216#\000\000\000\000\000
\000\000\000\271\004\000\000\000\000\000\000
\262\004\000\000\000\000\000\000.\371\234\020\000\000
\000\000\000\000\000\000\000\000\000\000INVITE MSNMSGR [email protected] MSNSLP/1.0\r\n
    To: <msnmsgr:some_body @hotmail.com>\r\n
    From: <msnmsgr:[email protected]>\r\n
    Via: MSNSLP/1.0/TLP ;branch={7E873D59-824B-5084-3544-90B83C8D3C40}\r\n
    CSeq: 0\r\n
    Call-ID: {9C468B3E-4BEA-1C6E-9E6D-1BE9455F8147}\r\n
    Max-Forwards: 0\r\n
    Content-Type: application/x-msnmsgr-sessionreqbody\r\n
    Content-Length: 865\r\n
    \r\n
    EUF-GUID: {5D3E02AB-6190-11D3-BBBB-00C04F795683}\r\n
    SessionID: 1189641425\r\n
    Context: PgIAAAIAAAAsAQAAAAAAAAAAAAB0AGUAcwB0ADEAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n请问大家,为啥不一样呢?像我截获那样是没有办法得到文件的相关信息的

解决方案 »

  1.   

    谢谢这位大哥了,在请问一下:
    假设数据包内容为"MSG\000",然后用一个byte*指向这段数据即
    byte*pByte=(BYTE*)"MSG\000";这个转换之后pByte的内容就成了"MSG",请问一下大哥上面那个解决方法是怎么实现的?
      

  2.   

    这里"MSG\000"长度是7,(其中 "\" 是字符 '\\')
    for(int i=0;i<7;i++)
      printf("%c",byte[i]);
      

  3.   

    呵呵,大哥理解错的意思了,我是说"MSG\000"赋值给pByte强制转换的时候
    内容就已经变了,pByte指向的内容是"MSG";不是"MSG\000",这个地方有问题