1

libnetfilter_queue ライブラリで使用しています。

パケットの宛先 IP を変更する必要があります。宛先 IP を変更し、パケットを再注入します: nfq_set_verdict(qh, id, NF_ACCEPT,size, originalPacket);

しかし、変更は反映されませんでした。

ただし、パケットを変更した場合は、それを新しい char 配列にコピーし、変更が有効になるよりも、コピーされた配列で判定を設定するように呼び出します。

私は何か間違ったことをしていますか?

ありがとうございました

4

1 に答える 1

2

同じチェーンにパケットを再注入するには、NF_REPEAT 判定を使用する必要があります。NF_ACCEPT 判定を使用すると、後続のチェーンにパケットが挿入されます。しかし、この目的のために、ループを避けるためにパケットをマークする必要があります。

iptables -t raw -A PREROUTING -p tcp -m tcp --dport 80 -m mark !
--mark 0x1/0x1 -m tcp -j NFQUEUE
iptables -t raw -A PREROUTING -p tcp -m tcp --dport 80 -m mark --mark
0x80/0x80 -m tcp ACCEPT # altered packets
iptables -t raw -A PREROUTING -p tcp -m tcp --dport 80 -m mark --mark
0x1/0x1 -m tcp ACCEPT # rest
于 2012-08-04T15:59:33.013 に答える