بلاک کردن بسته های http بر اساس محتوا
سلام ، عید غدیر پیشاپیش مبارک! می خوام یه برنامه بنویسم که بسته های ورودی http رو توی لینوکس پردازش کنه و هر بسته ای که الگوی من رو داشت بلاک کنه. می دونیم که وقتی ما یه سایت باز می کنیم اون سایت برای ما به صورت ترکیبی از html css javascript ارسال میشه حالا من می خوام مثلا یه قطغه کد html بهش بدم و بگم هر سایتی این کد رو داشت بلاک کنه. زبانی که می خوام باشه c++ هست که کارایی بالایی داشته باشه.
3 پاسخ
با c++ میخوام بنویسم.wireshark فقط اسنیف میکنه و بلاک نمیکنه.من خودم به این رسیدم که با library های نظیر libpcap و libtins بسته ها رو اسنیف کنم و بعد بگم آیپی ای رو که این بسته ها رو فرستاده مثلا به مدت پنج دقیقه توی iptables بلاک کنه.اگه روش بهینه تری سراغ دارید ممنون میشم راهنمایی کنید.می خوام تا جایی که میشه منابع سیستمی کم استفاده بشه.ممنون
البته دوستمون نگفتن که در چه محیطی میخوان این برنامه رو پیاده سازی کنند اما لزوما نیازی به وب سرور بودن نیست. ممکنه یک سیستم با دو کارت شبکه وظیفه یک روتر رو انجام بده .احتمالا در این صورت نیازی به برنامه نویسی نباشه با یک نرم افزار اسنیف مثل وایرشارک شما بتونید این کار رو انجام بدین.
با سلام
عید شما هم مبارک
شما باید برنامه تون جزئی از یک وب سرور باشه !
چون الزاما یک وب سرور دارین که درخواست های http رو دریافت می کنه و بنابراین نوشتن یک برنامه مستقل فک نکنم ممکن باشه که درخواست های http رو بلاک کنه
شما باید با توجه به وب سروری که دارین براش ماژول بنویسین
برای مثال اگه وب سرور Apache هست لینک زیر نحوه نوشتن ماژول رو براش توضیح داده :