有什么方法可以通过 gen_tcp 获得 ether/ip headers 吗?

is there any way to get ether/ip headers via gen_tcp?

有没有办法不仅 body 收到传入消息。还要ether/IPheaders的吗?现在我正在使用 gen_tcp 并通过主动控制进程接收消息。

目前套接字是通过'of_driver'打开的,方式如下:

gen_tcp:connect(IpAddr, Port,  [binary, {packet, raw}, {active, false}],CONNECT_TIMEOUT)

据我所知,您无法通过 gen_tcp 获取以太网或 IP headers。您可以使用 the procket library 打开原始套接字。 (传递给 gen_tcp{packet, raw} 选项并不引用 "raw" 套接字;它只是意味着 gen_tcp 不会尝试解释 TCP 字节流来拆分它成数据包。)