linux下网络编程(网络字节与主机字节)

最近在用libnet,libpcap写抓包程序时,遇到了主机字节序列与网络字节序列相互转换的问题。

libpcap捕获的数据包是按照网络字节顺序存储的,但是我们获取数据包的各种参数时,系统是按照自己的存储方式将字节中的数据转换为相应的数值。内存数据的存储分为大端、小端两种方式,对同一部分字节(字节数大于1的选项),因读取方式不同而导致数值不一样,导致误判。因此,在读取数值时需要将对应的网络字节数据转换为主机字节数据,可以使用ntohl将网络字节数据转换为主机字节顺序,也可以使用htonl将主机字节数据转换为网络字节顺序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值