簡體   English   中英

從以太網幀中提取UDP數據包有效負載

[英]Extract UDP packet payload from a ethernet frame

我正在使用某些第二層API編寫UDP發送/接收。 我可以收到包含我的UDP數據包的以太網幀。 例如,我發送“ hello”並得到以下以太網幀。

000f 5325 fb00 000f 5324 8c30 0800 4500   
0022 0000 4000 4011 5b0c 0a80 657d 0a80 
6542 c179 15b3 000e 46a2 3068 656c 6c6f 
0000 0000 0000 0000 0000 0000    

哪里

000f 5325 fb00 : destination MAC
000f 5324 8c30 : source MAC
0800           : Ethernet type
....
68 656c 6c6f   : "hello"

如果我使用其他程序發送UDP數據包,則消息/有效載荷(“ hello”)的起始位會有所不同。

問題:如何提取有效載荷?

我需要使UDP協議實現盡可能精簡,因此最好用C編寫它們。但是與庫或系統函數相關的功能仍然有用。

您可以簡單地在Linux中使用POSIX套接字API。 您可以創建UDP套接字,調用recvfrom()可以獲取UDP負載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM