/dev/net/tun 是如何工作的?我会取回我写的东西吗?
How does /dev/net/tun works? Do I get back what I write?
假设我想通过 tun
设备发送和接收数据。
我在打开 /dev/net/tun
的地方找到了答案 ,就好像它是一个文件并从中读取一样。但是,如果我想向它发送数据包怎么办?如果我只是 write
它,那么当我从它 read
时我会取回数据包,或者我可能会很幸运并在数据包发送后读取。
它是如何工作的? /dev/net/tun
是否会消耗我写的东西,而不是在我阅读时还给它?它知道发送和接收的内容吗?我想象它像一个文件一样工作,所以无论我写什么,我都会在阅读时返回。
How it works? Does /dev/net/tun consumes what I write and not
give it back when I read?
确实如此。
你永远无法取回所写的内容。
I imagine it works like a file so whatever I write I get back when I read.
不,它像设备节点一样工作。
写入的内容进入设备
(在这种情况下 - 虚拟设备)。
读取的内容是从(虚拟)
设备。
想想/dev/tty:你不看什么
写在那里。相反,你读了什么
是在键盘上输入的,而什么是
屏幕上可以看到写的。
假设我想通过 tun
设备发送和接收数据。
我在打开 /dev/net/tun
的地方找到了答案 ,就好像它是一个文件并从中读取一样。但是,如果我想向它发送数据包怎么办?如果我只是 write
它,那么当我从它 read
时我会取回数据包,或者我可能会很幸运并在数据包发送后读取。
它是如何工作的? /dev/net/tun
是否会消耗我写的东西,而不是在我阅读时还给它?它知道发送和接收的内容吗?我想象它像一个文件一样工作,所以无论我写什么,我都会在阅读时返回。
How it works? Does /dev/net/tun consumes what I write and not give it back when I read?
确实如此。 你永远无法取回所写的内容。
I imagine it works like a file so whatever I write I get back when I read.
不,它像设备节点一样工作。 写入的内容进入设备 (在这种情况下 - 虚拟设备)。 读取的内容是从(虚拟) 设备。 想想/dev/tty:你不看什么 写在那里。相反,你读了什么 是在键盘上输入的,而什么是 屏幕上可以看到写的。