rtnetlink编程(网络管理)
文章平均质量分 61
基于rtnetlink的网络管理
霍宏鹏
霍宏鹏,主要从事物联网开发,嵌入式系统设计。
展开
-
Linux通过c语言函数管理网络(1)-----获取/修改IP和MAC地址
在Linux下编写程序经常遇到需要对网卡进行管理,但是在glic库中或者其他函数库中却发现没有境界能用的API。有的人在程序中通过system()执行ifconfig命令进行配置,但是获取参数却很麻烦,也有的人通过int getifaddrs(struct ifaddrs **ifap);去获取ip地址等信息,但是只能获取,却不能配置。还有是通过io...原创 2021-10-19 16:35:35 · 4218 阅读 · 4 评论 -
rtnetlink消息和netlink消息关系
rtlink消息内存布局如下:RTM_NEWLINK, RTM_DELLINK, RTM_GETLINK消息示例:(规则: 每个 "|" 都需要4字节对齐)+-----------------------------------------------------------------------------------------+| struct nlmsghdr | struct ifinfomsg | struct rtattr | data | struct rtattr | .原创 2021-10-16 10:40:51 · 892 阅读 · 0 评论 -
netlink socket
#include <asm/types.h>#include <sys/socket.h>#include <linux/netlink.h>netlink_socket = socket(AF_NETLINK, socket_type, netlink_family);1 netlink socketNetLink被用于在内核和应用之前传输信息,在用户空间编程使用标准的socket相关的API接口,在内核空间使用kernel内部的API接口。Net.原创 2021-10-16 09:31:37 · 1796 阅读 · 0 评论 -
netlink常用宏理解
struct nlmsghdr { __u32 nlmsg_len; /* Length of message including header */ __u16 nlmsg_type; /* Message content */ __u16 nlmsg_flags; /* Additional flags */ __u32 nlmsg_seq; /* Sequence number */ __u32 nlmsg_pid; /* Sending process port ID */}.原创 2021-10-15 16:48:13 · 785 阅读 · 0 评论