netlink关闭网卡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了netlink关闭网卡相关的知识,希望对你有一定的参考价值。

方法:1、利用ifconfig命令关闭网卡,语法为“ifconfig 网卡名 down”;2、利用ifdown命令关闭网卡,语法为“ifdown 网卡名”;3、利用ip命令关闭网卡,语法为“ip link set 网卡名 down”

本教程操作环境:linux7.3系统、Dell G3电脑。

linux怎样关闭网卡

你可能会根据你的需要执行以下命令。我会在这里列举一些你会用到这些命令的例子。

当你添加一个网卡或者从一个物理网卡创建出一个虚拟网卡的时候,你可能需要使用这些命令将新网卡启用起来。另外,如果你对网卡做了某些修改或者网卡本身没有启用,那么你也需要使用以下的某个命令将网卡启用起来。

启用、禁用网卡有很多种方法。在这篇文章里,我们会介绍我们使用过的最好的 5 种方法。

启用禁用网卡可以使用以下 5 个方法来完成:

ifconfig 命令:用于配置网卡。它可以提供网卡的很多信息。

ifdown/up 命令:ifdown 命令用于禁用网卡,ifup 命令用于启用网卡。

ip 命令:用于管理网卡,用于替代老旧的、不推荐使用的 ifconfig 命令。它和 ifconfig 命令很相似,但是提供了很多 ifconfig 命令所不具有的强大的特性。

nmcli 命令:是一个控制 NetworkManager 并报告网络状态的命令行工具。

nmtui 命令:是一个与 NetworkManager 交互的、基于 curses 图形库的终端 UI 应用。
参考技术A Netlink可以用来关闭网卡,你可以在Linux系统中打开终端,然后使用“ifconfig”命令看到所有设备的情况,接着使用“ifconfig 网卡名字 down”将该网卡关闭。

linux下netlink的使用简介

参考技术A

Netlink套接字是用以实现 用户进程 内核进程 通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。

在Linux 内核中,使用netlink 进行应用与内核通信的应用有很多,如

Netlink 是一种在内核与用户应用间进行双向数据传输的非常好的方式,用户态应用使用标准的 socket API 就可以使用 netlink 提供的强大功能,内核态需要使用专门的内核 API 来使用 netlink。

一般来说用户空间和内核空间的通信方式有三种: /proc、ioctl、Netlink 。而前两种都是单向的,而Netlink可以实现双工通信。

Netlink 相对于系统调用,ioctl 以及 /proc文件系统而言,具有以下优点:

Netlink协议基于BSD socket和 AF_NETLINK 地址簇,使用32位的端口号寻址,每个Netlink协议通常与一个或一组内核服务/组件相关联,如 NETLINK_ROUTE 用于获取和设置路由与链路信息、 NETLINK_KOBJECT_UEVENT 用于内核向用户空间的udev进程发送通知等。

用户态应用使用标准的 socket API有sendto(),recvfrom(), sendmsg(), recvmsg()。

Netlink通信跟常用UDP Socket通信类似, struct sockaddr_nl 是netlink通信地址,跟普通 socket struct sockaddr_in 类似。

netlink_kernel_create内核函数用于创建内核socket与用户态通信

首先将编译出来的Netlink内核模块插入到系统当中(insmod netlink_test.ko),然后运行应用程序,可以看到如下输出:

以上是关于netlink关闭网卡的主要内容,如果未能解决你的问题,请参考以下文章

PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理

linux 内核中Netlink

netlink 套接字问题:内核冻结

Netlink 内核实现分析 4

Generic netlink howto

打开 netlink 套接字将使用相同的 pid 然后绑定和创建失败