1

C プログラムを使用して (IP アドレスを使用せずに) MAC アドレスのみを使用して 2 つのシステム間で通信する方法を知りたいです。これは生のイーサネット通信だと思います。私の要件は、MAC アドレスのみを使用してクライアントからサーバーにデータを送信することです。これは、独自の raw イーサネット フレームを作成することで実行できる可能性があります。

これに関して私を助けてください。誰かが C でコードを書いている場合は、共有してください。

このリンクが役立つかもしれません: http://aschauf.landshut.org/fh/linux/udp_vs_raw/ch01s03.html

4

2 に答える 2

3

libpcap ライブラリを使用すると、生のイーサネット パケットを組み立てて、それらをアダプタに直接送信できます。最も困難な部分は、正しいアダプタを検出することです。これは、ほとんどのプラットフォーム (Win PCAP など) で C/C++ を使用するために設計されています。

ただし、これがあなたが望むものであることを確認してください。生のイーサネットパケットインターフェイスが使用されているプロジェクトをいくつか見てきましたが、再送信やウィンドウ処理などのためにますます多くのプロトコルが配置され、最終的に独自のバージョンが完成するまでです。 TCP/IP (Windows/Linux またはプラットフォームが何であれ、何百万人もの人々によってテストされていないもののみ)。最近のほとんどのイーサネット チップには、TCP/IP スタックを高速化する機能もあります。

于 2011-07-13T22:52:49.263 に答える
0

以下は C# の例です。おそらくこれを活用できます。適切なコードは、OS に依存し、マイクロコントローラーのプログラミング時に使用されるチップにも依存します。

于 2011-07-13T22:09:10.213 に答える