2012-10-01 130 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 –