2

我试图找出在以下之后存储在“缓冲区”中的数据结构:

sock=socket(PF_PACKET, SOCK_RAW, htons(ETHERTYPE_IP));

recvfrom(sock, buffer, 2048, 0, NULL, NULL);

如果它是 TCP 数据包,我希望能够深入数据结构并读取链路层、IP 层和 TCP 层。我尝试了手册页和一些头文件,但到处都是。

提前致谢。

4

2 回答 2

3

这是通过线路(OSI 第 2 层)传输的原始位。数据包的手册页很好地解释了它。

我要做的是获取此输出并将其与查看相同数据的 Wireshark 会话的输出进行比较。然后,您应该能够将两者关联起来,看看发生了什么。

于 2012-01-02T01:40:58.573 回答
1

我相信您所追求的是RFC,它指定了 IP 如何封装在 Ethernet 中。遗憾的是 RFC非常精简,但最近的 RFC包含更多细节。

于 2012-01-02T01:43:43.410 回答