创建自己的虚拟网卡TAP口
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <linux/if.h>
#include <linux/if_tun.h>
#include <sys/types.h>
#include <errno.h>
#include <net/route.h>
#include <unistd.h>
/** * 创建接口 */
int tun_create(char *dev, int flags)
{ struct ifreq ifr; int fd, err; if ((fd = open("/dev/net/tun", O_RDWR)) < 0) { printf("Error :%m/n", errno); return -1; } memset(&ifr, 0, sizeof(ifr)); ifr.ifr_flags |= flags; if (*dev != '/0') { strncpy(ifr.ifr_name, dev, IFNAMSIZ); } if ((err = ioctl(fd, TUNSETIFF, (void *)&ifr)) < 0) { printf("Error :%m/n", errno); close(fd); return -1; } //strcpy(dev, ifr.ifr_name); return fd;
}
int tap_fd = tun_create("testtap",IFF_TAP|IFF_NO_PI);
close(tap_fd);
创建自己的虚拟网卡TAP口相关推荐
- linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上
目录 linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上 一.tun/tap设备简介 二.在linux上使用tun/tap设备模拟一个虚拟网卡 三. 创建网桥连接到 ...
- Centos7添加虚拟网卡
Centos7添加虚拟网卡 一.确认内核是否支持tun/tap 二. 加载内核模块 三. 安装tunctl命令 四. 创建和配置虚拟网卡 较高版本的linux大都自带了tun/tap 驱动程序用以实现 ...
- MAC地址获取,有线网卡与无线网卡、物理网卡与虚拟网卡的区分
获取当前活跃状态的网卡MAC地址.物理地址 Wmic命令:Win32_NetworkAdapter和Win32_NetworkAdapterConfiguration. 其中cmd命令行执行: 1. ...
- linux虚拟网卡tun,Centos7 创建虚拟网卡(tun/tap)
创建网卡.创建网桥并建立桥接 [root@kolla ~]# cat create.sh create_br(){ tunctl -t storage -u root brctl addbr virb ...
- 虚拟网卡 TUN/TAP 驱动程序设计原理
简介 虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装.本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在li ...
- centos下创建虚拟网卡
虚拟网卡 Tun/Tap 较高版本的linux大都自带了tun/tap 驱动程序用以实现虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装. ...
- linux创建虚拟网卡vnet,Qemu之Network Device全虚拟方案二:虚拟网卡的创建
当命令行传入nic相关参数时,Qemu就会解析网络相关的参数后进入虚拟网卡的创建流 程.而在上文中提到对于所有-net类型的设备,都视作一个net client来对待.而在net client的建立之 ...
- linux下使用tun/tap虚拟网卡
tun/tap虚拟网卡介绍 tun是一种虚拟网络设备,tun设备一端连接着用户程序,一端连接着内核协议栈,任何时候从协议栈发到tun网卡的数据都能从用户程序中读到,而从用户程序写入/dev/net/t ...
- Openwrt下WHR G300NV2 创建虚拟网卡失败可能原因
G300NV2可以刷G301N的Openwrt固件,这个确实无疑.而且经过1天的使用,没发现什么问题. 开始刷的Openwrt的核心是3.2.5,联网装macvlan,结果是ip link add l ...
最新文章
- 万字干货 | 一文揭秘Presto在腾讯资讯业务中的应用
- 远程连接Oracle 数据库连接报错ORA-12638身份检索失败
- mysql 当前timestamp_MySQL表结构使用timestamp以自动获取当前时间
- VGG16与SSD算法Tensorflow代码实现对比
- 保险条款精解(二) 丢车——如何将损失降到最低点?
- java catch自定义异常_java异常类-java自定义异常-嗨客网
- 用eclipse建立简单WebService客户端,使用WSDL,用于短信接口发送
- python 函数注释出现 :expected an indented block
- 唐朝义成公主的悲惨命运是怎样的?
- 学习制作横版游戏——2
- 十位语言大师给你的英语学习建议
- 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)
- Win11里面【应用或关闭Windows功能】在哪
- 程序猿要知道的:如何精心打造产品的“开始一公里”
- 【FICO系列】SAP FICO模块-财务账期的打开和关闭
- spring Boot Configuration Annotation Processor not fount in classpath
- 备忘录 | 阅读而已,用得着这么认真么?
- 07 AVR单片机ATmega8工业总线项目的通信处理以及实现
- 学习笔记:上网认证5 设置wifi(AP)通过FreeRadius认证
- mac日常使用小技巧