Dropping Pakete mit passendem String iptables Tropfen alle nachfolgenden Pakete ohne Spiel

StackOverflow https://stackoverflow.com/questions/828884

  •  06-07-2019
  •  | 
  •  

Frage

Ich versuche, einen Wurm Filterung Dienstprogramm auf Anwendungsebene zu schreiben.

Ich habe Setup Regel folgende TCP-Paket mit spezifischer Teilkette fallen zu lassen.

iptables -A INPUT -p tcp -m String --string "test" -j DROP --algo KMP

Sobald jedoch eine Paketfolge mit passendem wird alle nachfolgenden Pakete gefunden, auch mit nicht passenden Strings werden fallen gelassen, bis ich die Regel aus iptable spülen.

ich würde gerne wissen, warum dies passiert ist, und was ist die Lösung für sie.

Dank

War es hilfreich?

Lösung

tcp orientierte zuverlässiges Protokoll verbunden, die die Folge von Datenhält gesendet werden. es hält zu versuchen, die bestimmte Nutzlast zu ändern, bis es dort erreicht, so dass Sie nicht andere nachfolgende Nutzlast bis die älteren erreicht senden können, das ist, warum Sie das Gefühl, dass alle nachfolgenden Pakete fallen gelassen werden.

Wenn Sie die ähnliche Regel für udp gesetzt wird dies nicht passieren Sie in der Lage sein wird, alle nachfolgenden Pakete zu empfangen, die die Zeichenfolge nicht übereinstimmen. dies liegt daran, dass udp ein verbindungsloses, unzuverlässiges Protokoll ist.

Andere Tipps

Ein bisschen spät hier, aber die Leute mit ähnlichen Problemen zu sehen. Eine Möglichkeit, dies zu umgehen, ist diese Regel in der RAW-Kette zu tun. ALLE Pakete werden hier vor jeder Art von conntrack getroffen wird auf das Paket gelegt, deshalb ist es am besten Filterung zu tun hier.

iptables -A PREROUTING -t raw -p tcp -m string --string "test" -j DROP --algo kmp
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top