我有以太网帧,我想从这些帧获取特定端口上的TCP有效负载。
我应该怎么做?是否有可用于解析帧和tcp的库?
平台就是Linux。
答案 0 :(得分:1)
基本上,您需要删除以太网标头作为第一步。 接下来,删除IP标头,最后删除TCP标头。 但是,MAC或IP层可以加密。在这种情况下,您需要先解密数据,然后才能删除标头并提取有效负载。 无论如何,这是一个非常广泛的问题;你应该熟悉http://en.wikipedia.org/wiki/OSI_model 我确信Linux中的库可以满足您的要求(假设没有加密或者您可以解密)
答案 1 :(得分:1)
也许尝试查看libs的libpcap / winpcap / jpcap或获取一些想法。
或者假设帧是最简单的形式(没有加密,没有802.1Q,没有......等),它们看起来像这样:
DMAC(6)+ SMAC(6)+ VLAN时(2)+ IP_hdr(20)+ TCP_src_port(2)+ TCP_dst_port(2)
您可以在帧偏移处相应地匹配您的tcp dst端口。