【linux – 使用“/ sys / class / net”识别接口类型/监控模式】教程文章相关的互联网学习教程文章

linux – avahi-daemon从我的网络接口中提取IP地址【代码】

我在本地网络中运行Arch Linux服务器.它上面运行avahi-daemon来宣传一些服务(比如打印服务器). 现在已经第二次发生我的服务器不再可用了.经过一番调查后,我发现其IPv4地址已从网络接口中删除,日志中包含以下消息:Feb 04 22:36:34 edeltraud avahi-daemon[389]: Withdrawing address record for 192.168.168.23 on enp0s25. Feb 04 22:36:34 edeltraud avahi-daemon[389]: Leaving mDNS multicast group on interface enp0s25.IPv4...

linux – 改变网络接口的名称,debian wheezy【代码】

我正在尝试为接口设置名称,“ethLan”而不是eth0.这样做还可以确保if的名称在每次重新启动和内核时都保持一致. 我确实在这个主题中找到了一些文章,但它们都是几年前的:http://www.debian-administration.org/articles/463http://www.linuxfromscratch.org/hints/downloads/files/nameif.txt 我按照他们的说法做了,并将ethLan mac添加到/ etc / mactabs /.此时我有两个问题:1)if […]&&我放在/etc/network/if-pre-up.d/的/ sbin /...

为什么Linux需要将IP从eth接口移动到桥接接口

当网络接口(例如,eth0)被添加到Linux网桥(例如,br0)时,必须从eth0移除IP地址并将其添加到br0以使网络正常运行. 我记得读过一些Open vSwitch自述文件(我现在找不到),因为Linux内核的实现方式,需要移动IP地址.什么是Linux的实现需要将IP地址从NIC移动到网桥?解决方法:NIC代表上行链路电缆.电缆是第1层,而不是第3层. 现在,Bridge作为服务器上网络流量(传入)的寻址设备 – 在第2层(以太网/ MAC)和/或第3层(IP)上. 因此,响应ARP请求的设...

使用pcap获取Linux接口的IP地址【代码】

有没有办法如何使用libpcap在Linux中获取接口的IP地址? 我发现了这个,Get IP address of an interface on Linux,但不使用pcap. 此外,在pcap示例中,据说像this这样的东西应该获得你的IP,但它会为你提供你的网络地址.解决方法:使用pcap_findalldevs函数:#include <pcap/pcap.h> #include <arpa/inet.h>static char errbuf[PCAP_ERRBUF_SIZE];int main() {pcap_if_t *alldevs;int status = pcap_findalldevs(&alldevs, errbuf);if(s...

在linux中使用c检测连接接口

我想检测现在连接的接口;我有三个3g-modem连接和两个lan连接到服务器(我的设备不支持wlan).我的意思是连接类型并不重要,但接口名称和细节对我来说非常重要.我想检测我在c中编写的程序中的连接接口.请告诉我如何检测c中的连接接口?(root权限不是问题.)解决方法:如果您使用的是NetworkManager,则可以使用它的API.您可以使用D-Bus API,GLib包装,C++ Bindings for D-Bus. 如果您使用的是Qt,则可以直接使用QtNetwork. 当然,您也可以进入...

在Arch Linux中禁用网络接口【代码】

我有以下问题.我的电脑很旧,它有一个内置的以太网端口无法正常工作,不是由于配置错误,我认为它是物理损坏的.它在Ubuntu甚至在Windows上都不起作用.我有一个以太网PCI卡,这是我使用的.问题是,由于一些奇怪的原因,有效的卡有时会从eth0变为eth1而我必须运行dhcpd,因为我并不总是通过DHCP获得IP.现在,实际的问题是,是否有某种方法可以禁用使用其MAC地址无效的卡?我不能禁用eth0或eth1,因为我确信它并不总是“指向”同一张卡.解决方法...

linux – 如何在Perl中找到每个接口的IP地址?【代码】

我试图在linux盒子上找到一个IP地址列表.目前我的设置是CentOS机器,每个VLAN都有几个用于eth0的子接口.我正在编写一个脚本,以查看每个VLAN IP地址是否与某些IP地址(每个网络的不同IP地址)连接. 例如: > eth0的IP为10.0.0.2 netmask 255.255.255.128> eth0.2的IP为10.0.130,网络掩码为255.255.255.128> eth0.3的IP为10.0.1.2 netmask 255.255.255.128 每个接口当前通过配置文件设置为静态IP地址.但是,我想将它从静态更改为DHCP并获...

Linux文件IO接口之read函数使用【代码】【图】

往一个文件写入数据,并读取数据 //readfile.c #include <stdio.h> #include <sys/types.h> //调用open()函数所需的头文件 #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> //write , readint main() { int fd;char buf[10]={"hello"};char str[20]={0};//open filefd = open("/home/chenhai/test/a.txt",O_RDWR);if(fd == -1){printf("open a.txt faild\n");}else{printf("open a.txt ok\n");}//write file...

Linux 内核class_simple 接口

class_simple 接口意图是易于使用, 以至于没人会抱怨没有暴露至少一个包含设备的被 分配的号的属性. 使用这个接口只不过是一对函数调用, 没有通常的和 Linux 设备模型 关联的样板. 第一步是创建类自身. 使用一个对 class_simple_create 的调用来完成: struct class_simple *class_simple_create(struct module *owner, char *name); 这个函数使用给定的名子创建一个类. 这个操作可能失败, 当然, 因此在继续之前返回值 应当一...

Linux 内核usb_bulk_msg 接口

usb_bulk_msg 创建一个 USB 块 urb 并且发送它到特定的设备, 接着在返回到调用者之 前等待完成. 它定义为: int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int *actual_length, int timeout); 这个函数的参数是: struct usb_device *usb_dev 发送块消息去的 USB 设备的指针 unsigned int pipe 这个块消息要发送到的 USB 设备的特定端点. 这个值被创建, 使用一个对 usb_sndbulkpip...

Linux 内核usb_bulk_msg 接口

usb_bulk_msg 创建一个 USB 块 urb 并且发送它到特定的设备, 接着在返回到调用者之 前等待完成. 它定义为: int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int *actual_length, int timeout); 这个函数的参数是: struct usb_device *usb_dev 发送块消息去的 USB 设备的指针 unsigned int pipe 这个块消息要发送到的 USB 设备的特定端点. 这个值被创建, 使用一个对 usb_sndbulkpip...

Linux 内核 usb_control_msg 接口

usb_control_msg 函数就像 usb_bulk_msg 函数, 除了它允许一个驱动发送和结束 USB 控制信息: int usb_control_msg(struct usb_device *dev, unsigned int pipe, u8 request, u8 requesttype, u16 value, u16 index, void *data, u16 size, int timeout); 这个函数的参数几乎和 usb_bulk_msg 的相同, 有几个这样的不同: struct usb_device *dev 指向发送控制消息去的 USB 设备的指针. unsigned int pipe 控制消息要发送到...

Linux 内核 usb_control_msg 接口

usb_control_msg 函数就像 usb_bulk_msg 函数, 除了它允许一个驱动发送和结束 USB 控制信息: int usb_control_msg(struct usb_device *dev, unsigned int pipe, u8 request, u8 requesttype, u16 value, u16 index, void *data, u16 size, int timeout); 这个函数的参数几乎和 usb_bulk_msg 的相同, 有几个这样的不同: struct usb_device *dev 指向发送控制消息去的 USB 设备的指针. unsigned int pipe 控制消息要发送到...

linux – 所有接口的组播路由【代码】

这与How to multicast send to all network interfaces?不同,它要求的解决方案只能在一个程序中工作,并且需要源访问 – 我没有. 我有一堆程序产生多播流量,我希望在网络上看到wifi和以太网,但我也希望它们在网络出现故障时不会死于“无路由”. 所以我真正想要的是将所有多播流量从一台机器路由到所有可用的接口,或者在没有接口的情况下进行环回. 在Linux上我可以说:sudo ifconfig lo multicast sudo route add -net 224.0.0.0 net...

通过linux macvtap接口发送数据包

Linux支持接口类型macvtap.我找不到很好的文档,但这是一个很好的入门者:http://virt.kernelnewbies.org/MacVTap 我正在尝试使用它来创建一个新的虚拟网络设备,我可以通过编程方式读取和写入以发送原始数据包.虽然我可以从tap界面中读取很好,但我无法想出任何写入它的方法. >我正在打开定时打开系统调用的水龙头设备.>尝试使用write发送数据包,但我得到一个无效参数(EINVAL)错误响应.>还尝试使用sendmsg,但当然得到一个错误,我有一...