مشکل در drop کردن بسته‌هایی که یک متن خاص در آن‌ها به کار رفته توسط iptables در Application Layer

0

من قصد دارم که یک فیلتر Worm توسط iptables روی Application Layer ایجاد کنم که وقتی یک رشته خاصی در بسته به کار رفته باشه اون بسته drop بشه. از  دستور زیر هم برای این کار استفاده کردم؛ اما وقتی این رشته در درخواست کاربر باشه کلا connection قطع می‌شه و بسته‌های بعدی هم دریافت نمی‌شه.

iptables -A INPUT -p tcp -m string --string "test" -j DROP --algo kmp
0

TCP ذاتاً به صورت یک پروتکل Connection Oriented طراحی شده که Sequence داده‌های رد و بدل شده را ذخیره و بررسی می‌کند و تا زمانی که بسته‌های قبلی دریافت نشوند، Packetهای جدید در لایه بالاتر دریافت نمی‌شوند. بنابراین شما نمی‌توانید تنها چند Packet از کانکشن و قسمتی از ارتباط رو حذف کنید و ارتباط رو ادامه دهید.
در صورتی که این کار را روی پروتکل UDP انجام دهید این اتفاق بروز نکرده و سایر بسته‌ها با موفقیت دریافت خواهند شد.

دسته ها

آمار سوال

  • تغییرات
  • بازدیدیک بار
  • پاسخ ها1 پاسخ