Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在Unix/Mac上定位并直接连接到以太网卡_Linux_Unix_Assembly_Networking_Ethernet - Fatal编程技术网

Linux 如何在Unix/Mac上定位并直接连接到以太网卡

Linux 如何在Unix/Mac上定位并直接连接到以太网卡,linux,unix,assembly,networking,ethernet,Linux,Unix,Assembly,Networking,Ethernet,据我所知,以太网驱动程序是通过网络发送数据的关键所在。它是CPU将位传输到硬件的地方,硬件以某种方式通过网络传输 问题是如何在不使用unix命令(如netcat或C语言中的等效命令)的情况下,同时执行此操作 听上去,以太网“网卡”是一种硬件,实现方式多种多样。因此,MacBook的每个版本可能都有不同的网卡,更不用说每个PC版本了。所以听起来可能会有不同的网卡实现。这就是为什么像Linux这样的操作系统具有“驱动程序”抽象。驱动程序是由硬件制造商创建的,因此它符合Linux的~specifica

据我所知,以太网驱动程序是通过网络发送数据的关键所在。它是CPU将位传输到硬件的地方,硬件以某种方式通过网络传输

问题是如何在不使用unix命令(如
netcat
或C语言中的等效命令)的情况下,同时执行此操作

听上去,以太网“网卡”是一种硬件,实现方式多种多样。因此,MacBook的每个版本可能都有不同的网卡,更不用说每个PC版本了。所以听起来可能会有不同的网卡实现。这就是为什么像Linux这样的操作系统具有“驱动程序”抽象。驱动程序是由硬件制造商创建的,因此它符合Linux的~specification~,我猜是“socket”,但不确定。如果我错了,请纠正我


所以我想知道的是,我如何在我的Mac上找到如何直接连接到以太网驱动程序(在可能的最低级别),这样我就可以知道如何将1位发送到网络中(不想问在网络中发送到哪里,因为这可能是一个更复杂的问题).

lspci
扫描PCI/PCIe总线,然后查找出现的以太网设备的规格。或者查看
dmesg
输出,查看Linux选择了什么驱动程序。在最近的MacBook中可能最多使用了十几种不同的NIC型号,其中许多型号共享相同的驱动程序接口。因此,在过去的几年里,可能只需要少数几个不同的驱动程序就可以覆盖任何一款MacBook,以防这有任何影响。显然,你的MacBook只有一个。向网络发送“1位”有问题。许多NIC无法做到这一点。例如,IEEE网络LAN协议(如以太网、Wi-Fi等)必须具有帧头,而硬件在其中起着重要作用。使用非IEEE协议(如PPP、HDLC等)的串行NIC可能能够发送单个位。没有您认为的那么多供应商,它们的实现往往会回收逻辑/寄存器集。发送一个比特并不需要是一个数据包,mac地址本身就比这个长,64字节是典型的最小数据包,但也有方法发送更少的数据包。如前所述,lspci是您的起点,然后从那里简单地获取linux或bsd源代码并查找它们。供应商文档(如可能),但作为主要供应商之一的broadcom,文档通常不可用。因此,你从开源驱动程序开始工作。这不是大脑手术,获取RFC,从标记为过时的旧驱动程序开始,当前RFC假设你已经有过这种历史,所以从旧的经典驱动程序开始。他们是哪一个,这是乐趣的一部分。这本好书或者说是一套TCP/IP插图,所有的信息都可以免费获得,但是装订起来很好,看起来你可以在barnes n noble花2.99美元买到一本。可能是有一些PDF在浮动。现代的NIC有点复杂。如果您想知道如何直接与您的网卡通话,请尝试解释如何编程NE2000兼容卡,这些卡在当时非常流行且易于编程。底部显示如何发送以太网帧,这基本上就是您想要的。