2 sdyxz123 sdyxz123 于 2016.03.07 09:50 提问

Linux tun/tap 应用程序 15C

我写了一个程序,来对tun驱动进行操作,能创建 tun设备 ping也ping的通,但是我程序
里用read函数对tun设备进行读取时,为什么读取不到数据呢?按理说 有数据写到虚拟网卡后,然后我在读tun 的字符 应该有数据,但是不知道为什么没数据.求大神解答

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.08 12:53
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux下实现虚拟网卡TAP/TUN例子
http://blog.csdn.net/xuxinyl/article/details/6454119 我们在使用VMWARE的虚拟化软件时经常会发现它们能都能虚拟出一个网卡,貌似很神奇的技术,其实在Linux下很简单,有两种虚拟设 备,TUN时点对点的设备,tap表示以太网设备的,做为虚拟网卡驱动,Tun/tap驱动程序的数据接收和发送并不直接和真实网卡打交道,而是通 过用户态来转交
Linux的TUN/TAP编程
TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备(TUN),也可以当做以太网设备(TAP)。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他UNIX也是支持的,他们之间只有少许差别。 原理简介 TUN/TAP 虚拟网络设备的原理比较简单,他在Linux内核中添加了一个TUN/TAP虚拟网络设备的驱动程序和一个与之相关连的字符设备
Linux tun/tap驱动
tun/tap是纯软件实现的一套虚拟网络设备。tap表示虚拟以太网设备,工作在二层网络上,具有直接处理以太帧的能力。tun表示虚拟点对点设备,工作在三层网络上,具有处理IP包的能力。 其实现原理相对简单。它在内核空间添加一个杂项设备(msicdevice)/dev/net/tun,实质上就是一个主设备号为10的字符设备,作为用户空间与内核空间信息交互的接口。tun/tap驱动程序包括两个部分,一
linux中 tun/tap 的实现
Linux tun/tap 设计原理 简介 虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。   tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络
linux下TUN/TAP虚拟网卡的使用 - heidsoft
http://www.tuicool.com/articles/mu6vY3 tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。 利用tun/tap 驱动,可以将tcp/ip协议栈处理好的网络分包传给任何一个使用tun/tap驱动的进程,由进程重新处理后再发到物理链路中。 开源项目op
Linux下Tun/Tap设备通信原理
Tun/Tap都是虚拟网卡,没有直接映射到物理网卡,是一种纯软件的实现。Tun是三层虚拟设备,能够处理三层即IP包,Tap是二层设备,能处理链路层网络包如以太网包。使用虚拟网络设备,可以实现隧道,如OpenVPN的实现。这篇文章我主要根据自己画的一个图来简单说明在隧道实现中两个虚拟网络设备数据包的流程。 上面的图中,左右两边分别为两台机器。一台有一块物理网卡配置了IP:172
linux下TUN或TAP虚拟网卡的使用
tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。 利用tun/tap 驱动,可以将tcp/ip协议栈处理好的网络分包传给任何一个使用tun/tap驱动的进程,由进程重新处理后再发到物理链路中。 开源项目openvpn (http://openvpn.sourceforge.net)和Vtun(http
Linux-虚拟网络设备-tun/tap
基本概念 A gateway to userspace。      TUN和TAP设备是Linux内核虚拟网络设备,纯软件实现。      OS向连接到TUN/TAP设备的用户空间程序发送报文;用户空间程序可像物理口发送报文那像向TUN/TAP口发送报文,在这种情况下,TUN/TAP设备发送(或注入)报文到OS协议栈,就像报文从物理端口收到一样。 链接: TUN/TAP:
linux下TUN/TAP虚拟网卡的使用
tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。利用tun/tap 驱动,可以将tcp/ip协议栈处理好的网络分包传给任何一个使用tun/tap驱动的进程,由进程重新处理后再发到物理链路中。 开源项目openvpn (http://openvpn.sourceforge.net)和Vtun(http
Tun/tap 上网及编程
使用了linux下的虚拟网卡;虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。 首先,ubuntu下: apt-get install uml-utilities--网卡 apt-get install bridge-utils--网桥 virtualBox上网方式有三种 1:nat 这种方式在客户机上不用做