2012-10-01 100 views

回答

0

它可以通过以下方式来完成,在回调函数:

len = nfq_get_payload(nfa, &buffer); 
src_port = *((unsigned short*) (buffer + 20)); 
dst_port = *((unsigned short*) (buffer + 22)); 
+0

为什么22和20?你怎么知道有效载荷是如何组织的? –

+1

@RodrigoSalazar它仅适用于TCP,并且假定IP标头长度为20字节,因为在大多数情况下,因此20&21字节即tcp标头的前两个字节指向src端口,22和23字节指向dest端口,按照tcp/ip数据包结构 –

+0

感谢您的回应,我实际上对此有一天提出了一个问题,然后想到了第二天我自己:) http://stackoverflow.com/questions/15782630/how-does-nfq- get-payload-structure-its-return-data –