iptablesを使用して確立されたTCP接続の終了

iptablesを使用して確立されたTCP接続の終了

オープンソケット接続があり、着信パケットに特定の文字列が含まれている場合は、すぐに接続を閉じたいと思います。 iptablesを使って以下を試しました。

sudo iptables -A INPUT -p tcp --dport 1342 -m string --algo bm --string ".." -j REJECT
sudo iptables -A INPUT -p tcp --dport 1342 -m string --algo bm --string ".." -j DROP

しかし、これらのどれも機能せず、接続は永久に停止します。接続を永久に「切断する」方法は何ですか?

注:テストアプリケーションとして単純なnetcatを使用しました。まず、クライアントとリスナーを接続してから禁止文字列を送信します。その後、REJECTルールを使用しても応答は受信されず、この接続を介して行を送信できなくなります。

ベストアンサー1

これがあなたに役立つことを願っています。 tcp-reset とともに REJECT を使用します。

sudo iptables -A INPUT -p tcp --dport 1342 -m string --algo bm --string ".." -j REJECT --reject-with tcp-reset

それでも機能しない場合は、kmpを試してください。

sudo iptables -A INPUT -p tcp --dport 1342 -m string --algo kmp --string ".." -j REJECT --reject-with tcp-reset

おすすめ記事