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)时,不要需转换。

htonl函数的功能_htons和htonl函数具体应用相关推荐

  1. java sendmessage函数_功能强大的SendMessage函数

    功能强大的SendMessage函数 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 Windows API(应用程序接口)是Windows系列软件为程序开发人员提供的火力强大的& ...

  2. php常用的数组函数及功能,PHP 常用数组函数 (1)

    PHP 常用数组函数 (1) 1,array_fill(index,number,value) 用值填充数组 参数说明: index: 被返回数组的第一个索引值 number: 规定要插入的元素的个数 ...

  3. python中int函数的功能_python中int函数的用法

    int(x)函数(实际上是一个类,初学者可以将其当成一个函数)中的参数x可以是一个数值,也可以是一个字符串. 如果x是一个数值,那么这个函数就是一个向0取整的函数 ,比如 如果x是一个字符串,intx ...

  4. python中int函数的功能_python中int函数是什么意思

    摘要 腾兴网为您分享:python中int函数是什么意思,小t智联,未来屋,唯品会,围棋宝典等软件知识,以及么么聊天,daemontoolslite,鼠标自动连点器,河南校信通,时尚魔女,帮兼职,红包 ...

  5. 模拟htonl、ntohl、htons、ntohs函数实现

    模拟htonl.ntohl.htons.ntohs函数实现 2010-04-14 17:25:06|  分类: 网络编程 |  标签: |字号大中小 订阅 From: http://wxxweb.bl ...

  6. 【PackUnPack】htonl、htons、ntohl、ntohs函数实现

    网络字节序是大端 参考: htonl.htons.ntohl.ntohs函数实现 判断是大端还是小端 小端时,(ENDIANNESS=='l') static union { char c[4]; u ...

  7. ACMNO.41C语言-数字调序 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数

    题目描述 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图. 写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数. 输入 输入数据的个数n n个整数 移动的位置m ...

  8. datediff什么作用php,php中easter_date函数的功能起什么作用呢?

    摘要: 下文讲述php中easter_date函数的功能讲解,如下所示: easter_date函数功能说明: 返回指定年份对应的复活节午夜的Unix时间戳. easter_date语法: easte ...

  9. numpy中ravel函数、flatten函数的功能及差异

    numpy中ravel函数.flatten函数的功能及差异 >>> import numpy as np >>> a = np.arange(20).reshape ...

最新文章

  1. (AOSP)repo checkout指定版本
  2. Linux知识点复习
  3. 【若依(ruoyi)】菜单操作SQL
  4. (7)Java数据结构--集合map,set,list详解
  5. python语言的注释语句引导符_Python 为什么用 # 号作注释符?
  6. PCL PCD文件读写
  7. 蚊子132谈IT团队工作的态度和技巧
  8. 跑腿同学校园小程序源码-已测试
  9. 【同124】LeetCode 687. Longest Univalue Path
  10. Cisco笔记1-访问CISCO 路由器的方法
  11. 制作一个简单HTML中华传统文化网页(HTML+CSS)
  12. LMS Amesim 用途及界面汉化
  13. 【c++思维导图与代码示例】02 函数
  14. 热烈庆祝阳光网驿-行业软件交流平台与北京汉邦极通科技有限公司成功合作
  15. Linux下安装字体后刷新字体
  16. 国际海运流程有哪些,国际海运物流哪家比较好
  17. 为什么要进行网站流量分析?从6个方面告诉你答案
  18. java升序排列数组_java数组的升序降序排列
  19. L2-001 城市间紧急救援
  20. 搜索词纠错、相关搜索的原理与实现

热门文章

  1. 数据分享|R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告...
  2. 大理古城火灾6人死亡,智慧消防救人命
  3. alcatel-lucent笔试
  4. Testflight 上传报错:No suitable application records were found. Verify your bundle identifier
  5. 中关村2019高成长企业TOP100发布 百卓网络上榜
  6. html遍历json数组,JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
  7. 基SpringBoot的智能社区警务管理平台
  8. 使用Log4j时,配置ConversionPattern(日志显示格式)遇到的问题
  9. 【OpenCV】视频读入、播放控制和写入
  10. 欣然注册CSDN网站