【发布时间】:2019-01-04 08:07:20
【问题描述】:
无法正确表达我的问题,因此 Google 搜索对我没有帮助。有人可以从内核的角度解释 NIC 的工作原理吗?为了让内核与设备通信,您需要一个驱动程序/内核模块。我的问题:
我了解设备在 Linux 中表示为文件。如果驱动程序/模块提供用户空间 API 来与设备对话,这是否意味着系统调用(例如对设备文件的读/写)是多余的?我并不是说实际上应该使用系统调用来读取/写入设备的文件,而只是为了争论。
eth0 等设备名称如何适应所有这些?
tcpdump 究竟从哪里得到它的数据?如果我运行类似:
tcpdump -vv -i eth0tcpdump 是否从某处的设备文件中读取?实际探测 NIC 的 tx/rx 端口以了解进出它的位太复杂了,那么 tcpdump 是如何获取它的信息的呢?
非常感谢您提供的任何信息。随时提供指向网站或书籍的链接,我可以在其中了解更多信息。
【问题讨论】:
标签: linux operating-system driver