send函数返回了值(不是socket_error),为什么不能在sniffer上查看到发送内容?而且数据也的确没有发送到服务器方。

解决方案 »

  1.   

    返回的什么值?
    send returns the total number of bytes sent。你的是这样的吗?
      

  2.   

    还回端口抓不到。 你抓包抓争取了吗?tcp哦
      

  3.   

    是我没注意到,抓包是抓到了,我发送的是一个获得html页面的请求(如果用浏览器发送的话,sniffer是可以显示出这是个html请求)但我把html的请求内容通过send直接发送的话,sniffer只是显示这是一个带有数据的tcp包,这是为什么呢?
      

  4.   

    那说明你sniffer已经抓包成功啊!确定是TCP包后
    还要解析包!!
      

  5.   

    把html的请求内容通过send直接发送,就是一个http的post方法,你找个http sniffer可以看的更清楚一些,send数据就在http 的post字段
      

  6.   

    回kingzai() :
      你说的我明白,事实上我send的数据是一份http sniffer的copy,但是sniffer并没有认出这是http协议的数据,这点我不明白。
       另外,通过http代理发送的html请求与直接发送的内容有什么区别?
      

  7.   

    1。用wininet函数直接构造http报文发送,看sniffer是否能认出, 注意字段的填充要正确。
    2。应用层报文应该没多大差别,主要是ip层的不同吧,抓两份报文比较一下便知