主に、Netfilter キュー ペイロードのペイロードからソース アドレスと宛先ポートを取得しようとしています (ペイロードは nfq_get_payload 関数を使用して取得されます)。次の質問は同じことを尋ね、正しい答えを得ます。
iptables のキューにあるパケットから送信元と宛先のポート番号を抽出する方法
残念ながら、アドレスに 20 と 22 を追加すると、情報を読むのに適切な場所に移動できる理由についての説明はありません。これはデータの構造によるものだと思いますが (明らかに)、定義された構造があるとすれば、それは何ですか?
ドキュメントでは、データがどのようにフォーマットされるかを明示的に説明していません。「この関数によって取得されるデータのタイプは、nfq_set_mode() 関数で設定されたモードに依存する」ということだけですが、set_mode のドキュメントではデータについて何も言及されていません。タイプし、ソースはすぐに何も明らかにしません。
これは、私が見逃している、または理解していない一般的なネットワーク プログラミング構造体の非常に中心的なものに違いないと思います。
注: nfq_get_payload 関数: http://www.netfilter.org/projects/libnetfilter_queue/doxygen/group__Parsing.html#gaf79628558c94630e25dbfcbde09f2933