zoukankan      html  css  js  c++  java
  • htons和htonl函数具体应用

    htons和htonl函数具体应用

    htons和htonl函数,是用来将主机字节顺序转换为网络字节顺序
    在进行网络抓包时,抓到的包的数据是网络字节顺序,在进行编程时,要进行主机字节顺序和网络字节顺序间的转换。
    例如:
    (对一软件进行抓包时,写的一段小程序)
    ipp2p:

       if(get_u16(payload,0)==__constant_htons(0x0600)
             && get_u32(payload,2)==(plen-6))
       {
         printk("identifing and datalen=%d /n",plen);
         return(IPP2P_TEST*100+6);
       }
      

    网络字节是0x0600,而在主机内部所读的字节是0x06.

    简单而言,htons()是将一个数的高低位进行互换:

    (如:06 00 --> 00 06)

    注明:

    get_u32(payload,0)==_htonl(0x06073200)

    则主机内部字节为:0x320706

    htonl 是针对32位,4个字节而言

    htons 是针对16位,2个字节而言

    另外需注意,数字所占位数小于或等于一个字节(8 bits)时,不要需转换。

  • 相关阅读:
    POJ 2503 Babelfish
    POJ 1182 食物链
    POJ 2352 Stars
    POJ 2528 Mayor's posters
    POJ 1328 Radar Installation
    POJ 1017 Packets
    jQuery实现登录提示
    【1-5】jQuery对象和DOM对象
    【1-4】jQuery代码风格-导航栏
    【3】买苹果
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/4212763.html
Copyright © 2011-2022 走看看