我想知道如何使用僅使用MAC地址的C程序(不使用IP地址)在兩個系統之間進行通信。我認爲這是原始的以太網通信。我的要求是僅通過使用MAC地址將數據從客戶端發送到服務器。可以通過創建我們自己的原始以太網幀來完成。兩個系統之間僅使用MAC地址進行通信
請幫我解決這個問題。如果有人用C編寫代碼,請分享。
此鏈接可以幫助你,http://aschauf.landshut.org/fh/linux/udp_vs_raw/ch01s03.html
我想知道如何使用僅使用MAC地址的C程序(不使用IP地址)在兩個系統之間進行通信。我認爲這是原始的以太網通信。我的要求是僅通過使用MAC地址將數據從客戶端發送到服務器。可以通過創建我們自己的原始以太網幀來完成。兩個系統之間僅使用MAC地址進行通信
請幫我解決這個問題。如果有人用C編寫代碼,請分享。
此鏈接可以幫助你,http://aschauf.landshut.org/fh/linux/udp_vs_raw/ch01s03.html
Here是C#的例子,也許你可以利用這一點。對微控制器進行編程時,正確的代碼取決於操作系統,甚至取決於使用的芯片。
libpcap庫允許您組裝原始以太網數據包並將它們直接發送到適配器:最難的部分是發現正確的適配器。這是爲大多數平臺上的C/C++使用而設計的(Win PCAP等)。
請確定這是你想要的:雖然我已經看到了幾個項目,其中原始的以太網數據包接口已被使用,只有越來越多的協議才能用於重新傳輸和窗口等,直到最終用你自己的TCP/IP版本(只有一個沒有經過數百萬使用Windows/Linux或任何你的平臺的人測試過)。現在大多數以太網芯片都具有加速TCP/IP協議棧的功能:所以你也會錯過這些。
如果一切都失敗了,你真的需要這個,你可以用它來交換一個更有用的標識符IP地址或主機名稱)。 –
什麼操作系統?你能建立一個鏈接本地IP地址嗎? – bdonlan
您還必須確保客戶端和服務器在同一子網上(即兩者之間沒有路由器)。如果他們在同一個中心你應該沒問題。 – MSumulong
我正在使用Linux syetm(Ubuntu)。是的,我可以使用IP地址在兩個系統之間進行通信,並且兩者都位於同一網絡中。至少我應該能夠在系統內進行通信,我的意思是通過在一個終端運行客戶端程序並在另一個終端運行服務器程序,我應該在服務器終端接收數據。這個鏈接可以幫助你,http://aschauf.landshut.org/fh/linux/udp_vs_raw/ch01s03.html – purpose