当前位置:  技术问答>linux和unix

关于RAW套接口收到的数据报的IPv4的头部的字节顺序问题?

    来源: 互联网  发布时间:2017-03-02

    本文导语:  ipv4头部各字段应该是网络字节顺序(除了这三个外ip_len, ip_off, and ip_id ),但是书上程序怎么没有对字节顺序直接转换就使用呢: ip = (struct ip *) ptr;      // ptr为收到的数据报的起始地址 headerLen = ip->ip_hl ip_...

ipv4头部各字段应该是网络字节顺序(除了这三个外ip_len, ip_off, and ip_id ),但是书上程序怎么没有对字节顺序直接转换就使用呢:

ip = (struct ip *) ptr;      // ptr为收到的数据报的起始地址
headerLen = ip->ip_hl ip_hl), 不知道我的理解是不是错的? 请大为大虾帮忙指出。 

|
因为就1个字节, 直接位运算得到相应的位即可。

如果是多字节,楼主说的没错,要ntohl/ntohs进行转换得到本地序才可以开始位运算。

|

看错了,数据部分不需要ntohl/ntohs
但是包头的部分里的内容如源IP等,需要使用ntohl/ntohs

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt.im类inputmethodhighlight的类成员方法: raw_text定义及介绍
  • 跨平台RAW照片处理软件 Raw Therapee
  • java命名空间java.awt.im类inputmethodhighlight的类成员方法: unselected_raw_text_highlight定义及介绍
  • android读取raw文件示例
  • java命名空间java.awt.im类inputmethodhighlight的类成员方法: selected_raw_text_highlight定义及介绍
  • 请问如何判断从raw socket发出的包是哪个进程发送的?
  • java命名空间javax.security.sasl类sasl的类成员方法: raw_send_size定义及介绍
  • 问个linux下raw socket的问题
  • java命名空间javax.xml.crypto.dsig.keyinfo接口x509data的类成员方法: raw_x509_certificate_type定义及介绍
  • FC5下面安装raw类型的CUPS打印机
  • c++ 将buffer转换成raw string的函数
  • Oracle中的Raw类型解释
  • sick_raw在 linux下的具体可以捕获哪种类型的数据包?
  • :) VM+LINUX 怎么加硬盘,怎么建RAW设备
  • sock_raw和sock_packet的问题
  • 内核是不会把tcp/udp报文传递给raw socket??
  • 关于 __raw_writel()的问题
  • linux下如何用raw socket抓包,并分析包的数据
  • 100分请教高手如何反汇编arm raw文件
  • 开源数据可视化工具 RAW
  • android实现raw文件夹导入数据库代码


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3