网络序,主机序学习

网友投稿 252 2022-10-24


网络序,主机序学习

网络序,主机序学习

网络序,主机序总是迷迷糊糊的。需要整理一下。千言万语,不如代码来的实在。哈哈,说干就干。

#include #include #include int host_order() { unsigned long a = 0x12345678; unsigned char * p = (unsigned char *)(&a); printf("主机字节序:%0x %0x %0x %0x\n",p[0],p[1],p[2],p[3]); unsigned long b = htonl(a); p = (unsigned char *)(&b); printf("网络字节序:%0x %0x %0x %0x\n",p[0],p[1],p[2],p[3]); return 0; } int net_order() { struct in_addr ipaddr; unsigned long addr = inet_addr("192.168.1.100"); unsigned char *p = (unsigned char *)(&addr); printf("addr = %u \n",addr); printf("%0x %0x %0x %0x : inet_addr 192.168.1.100\n",p[0],p[1],p[2],p[3]); printf("%d %d %d %d : inet_addr 192.168.1.100\n",p[0],p[1],p[2],p[3]); unsigned long addr_host = ntohl(addr); p = (unsigned char *)(&addr_host); printf("%0x %0x %0x %0x : inet_addr ntohl 192.168.1.100\n",p[0],p[1],p[2],p[3]); printf("%d %d %d %d : inet_addr ntohl 192.168.1.100\n",p[0],p[1],p[2],p[3]); printf("addr_host = %u\n",addr_host); return 0; } int main() { int ret = 0; //ret = host_order(); ret = net_order(); return ret ; }

编译之。

gcc -g -o test_order test_order.c

跑一下。

[root@localhost test]# ./test_order addr = 1677830336 c0 a8 1 64 : inet_addr 192.168.1.100 192 168 1 100 : inet_addr 192.168.1.100 64 1 a8 c0 : inet_addr ntohl 192.168.1.100 100 1 168 192 : inet_addr ntohl 192.168.1.100 addr_host = 3232235876

清晰明了。有助于快速理解。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:主动信息收集--二层发现(shell脚本)
下一篇:详解Spring工厂特性
相关文章

 发表评论

暂时没有评论,来抢沙发吧~