1

我有以太网帧,我想从这些帧中获取特定端口上的 TCP 有效负载。

我该怎么办?是否有可用于解析帧和 tcp 的库?

平台是Linux。

4

2 回答 2

1

也许尝试查看 libpcap/winpcap/jpcap 的库或获得一些想法。

或者假设帧是最简单的形式(没有加密,没有 802.1Q,没有......等),它们看起来像这样:

dmac(6)+smac(6)+etype(2)+IP_hdr(20)+TCP_src_port(2)+TCP_dst_port(2)

您可以在帧偏移处相应地匹配您的 tcp dst 端口。

于 2012-10-19T16:25:40.003 回答
1

基本上,您需要首先删除以太网标头。接下来,删除 IP 标头,最后删除 TCP 标头。但是,可以在 MAC 或 IP 层进行加密。在这种情况下,您需要先解密数据,然后才能删除标头并提取有效负载。无论如何,这是一个非常广泛的问题;您应该熟悉http://en.wikipedia.org/wiki/OSI_model 我确信 Linux 中已经准备好可以满足您要求的库(前提是没有加密或您可以解密)

于 2012-10-19T14:18:40.420 回答