dewolfe
驱动牛犊
驱动牛犊
  • 注册日期2007-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:1185回复:0

很奇怪的现象,大家看看!

楼主#
更多 发布于:2007-06-07 20:46
在中间层这样定义:
#define k_ntohs(a)  (((a)>>8)&0xff)|(((a)<<8)&0xff00)
#define k_htons(a)  k_ntohs(a)

tcplen = k_htons(pIPHeader->ip_totallength) - iphdrlen;这样出来的结果(tcplen==FFEC)是错误的。
但是这样
tcplen = k_htons(pIPHeader->ip_totallength);
tcplen = tcplen - iphdrlen;结果(tcplen==0x14)是正确的,为什么?
其中pIPHeader>ip_totallength = 0x2800; iphdrlen =0x14;
而且在协议层分别执行的话结果都是对的。???
我是一名大四的学生,正在做ip地址的伪装,有很多问题不明白,希望大家能帮我一下。
游客

返回顶部