0
我有一個接收IP數據包的用戶空間應用程序。它需要確定數據包的類型是v4還是v6。假設「緩衝」包含包,我想到了兩種方法:確定數據包是否輸入IPv4或IPv6
void *check_header(void *buffer) { struct iphdr *iph = (struct iphdr *)buffer; if (iph->version == IPV4) { /* IPv4 */ } else if (iph->version == IPV6) { /* IPv6 */ } ...... }
-
- 找出機器的字節序。
- 相應地訪問數據包中的版本字段。
有沒有搞清楚包類型更好的辦法?
是不是你的兩個方法基本一樣?只是在第一個時候,你並不真正在乎恩典。 –