加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix ip 地址值

发布时间:2020-12-15 16:20:43 所属栏目:安全 来源:网络整理
导读:这篇文章记录unix中ip地址的相关操作。此次总结后,希望能避免每次用到都要临时去查找的烦恼。 1、相关数据结构 1.1 struct sockaddr struct sockaddr { unsigned short sa_family; char sa_data[14] }; sockaddr 是通用地址结构,一般用 sockaddr_in 来解析
这篇文章记录unix中ip地址的相关操作。此次总结后,希望能避免每次用到都要临时去查找的烦恼。 1、相关数据结构 1.1 struct sockaddr struct sockaddr { unsigned short sa_family; char sa_data[14] }; sockaddr 是通用地址结构,一般用 sockaddr_in 来解析,也就是解析sa_data的含义。 1.2 struct sockaddr_in struct sockaddr_in { short int sin_family; unsigned short int sin_port; struct in_addr sin_addr; unsigned char sin_zero[8] } sockaddr_in结构是sock_addr 的具体解析。将 sockaddr 中的sa_data.解析成两部分。 分别是6个字节和8个字节。前6个字节又分为 sin_port、struct in_addr 1.3 struct in_addr struct in_addr { unsigned long s_addr; }; 或 struct in_addr { union { struct { u_char s_b1,s_b2,s_b3,s_b4;} S_un_b; struct { u_short s_w1,s_w2;} S_un_w; u_long S_addr; //成员s_addr为长整形结构 } S_un; }; struct in_addr 用于记录4字节的ip. 2、地址转换函数 2.1 点分十进制转二进制 int inet_aton(const char *cp,struct in_addr *inp); 2.2 二进制转点分十进制 char *inet_ntoa(struct in_addr in);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读