2012-10-19 42 views
0

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

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

平台是Linux。

回答

0

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

0

也许试试看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端口。