仅使用 MAC 地址在两个系统之间进行通信

标签 c networking network-programming networkstream

我想知道如何使用C 程序仅使用MAC 地址在两个系统之间进行通信(不使用IP 地址)。我认为这是原始的以太网通信。我的要求是仅使用 MAC 地址从客户端向服务器发送数据。也许这可以通过创建我们自己的原始以太网框架来完成。

请帮我解决这个问题。如果有人用 C 编写过代码,请分享。

此链接可能对您有帮助,http://aschauf.landshut.org/fh/linux/udp_vs_raw/ch01s03.html

最佳答案

libpcap 库允许您组装原始以太网数据包并将它们直接发送到适配器:最困难的部分是发现正确的适配器。这是专为大多数平台(Win PCAP 等)上的 C/C++ 使用而设计的。

请确保这就是您想要的:我见过几个使用原始以太网数据包接口(interface)的项目,只是为了重新传输和窗口化等而采用越来越多的协议(protocol),直到您最终得到您自己的 TCP/IP 版本(只有一个尚未经过数百万人使用 Windows/Linux 或任何您的平台进行测试的版本)。如今,大多数以太网芯片也具有加速 TCP/IP 堆栈的功能:因此您也会错过这一点。

关于仅使用 MAC 地址在两个系统之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686256/

相关文章:

C++文件发送程序

python - Docker:使用容器名称从一个容器连接到另一个容器时,如何修复 "could not translate host name "postgres“到地址”?

ios - Objective-C:2个iPad之间的通信

c - C 中的 POSIX 信号量但仍然存在竞争条件?

c - 如何从 libblkid 获取给定 UUID 的设备?

c++ - 关于sizeof用法的问题

c - 如何复制 "double pointer"?

networking - 在 docker-compose.yml 中绑定(bind)主机端口时无法将服务扩展到多个容器

windows - 在 Win7 上映射和重新映射具有不同用户的网络驱动器

delphi - IPv6 地址的算术(大整数)