Skip to content

Null-Err0r/Filtering-Analysis-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Filtering Analysis Tool (ابزار تحلیل شبکه برای شناسایی فیلترینگ)

یک ابزار ساده و کارآمد برای تحلیل و فیلتر کردن بسته‌های شبکه است که با زبان Rust توسعه یافته است. هدف اصلی این ابزار، بررسی ترافیک شبکه، شناسایی پروتکل‌های مختلف و استخراج اطلاعات کلیدی مانند نام سرور (SNI) از اتصالات TLS/HTTPS و همچنین شناسایی ترافیک مربوط به پروتکل‌های مدرن مانند HTTP/2، HTTP/3، QUIC و DNS over HTTPS/QUIC (DoH/DoQ) است.

✨ قابلیت‌ها

  • گرفتن بسته‌های شبکه (Packet Sniffing): بسته‌ها را از کارت شبکه انتخاب شده دریافت می‌کند.
  • تجزیه پروتکل (Protocol Parsing): قابلیت تجزیه بسته‌های IPv4، TCP و UDP.
  • تحلیل لایه ۷:
    • استخراج SNI: تشخیص نام دامنه از هندشیک TLS (HTTPS).
    • تشخیص DoH/DoQ: شناسایی ترافیک DNS over HTTPS و DNS over QUIC.
    • تشخیص HTTP/2، HTTP/3، QUIC: شناسایی اتصالات با استفاده از این پروتکل‌های مدرن.
  • تشخیص RST Injection: شناسایی احتمالی بسته‌های TCP RST مشکوک که می‌توانند نشان‌دهنده دخالت در ترافیک باشند.
  • فیلترینگ ترافیک: بسته‌ها را بر اساس پورت‌های مقصد رایج (مانند 53، 80، 443) فیلتر می‌کند.
  • خروجی JSON: نتایج تحلیل را به صورت ساختاریافته در یک فایل JSON ذخیره می‌کند.
  • لاگ‌گیری: از سیستم لاگ‌گیری استاندارد Rust برای پیام‌های وضعیت و خطا استفاده می‌کند.

🚀 شروع به کار

پیش‌نیازها:

  • Rust (نسخه 1.60 به بالا توصیه می‌شود)
  • Cargo (مدیر بسته Rust، که همراه با Rust نصب می‌شود)

نصب و اجرا:

  1. پروژه را دانلود کنید:

  2. کامپایل و اجرا:

    در لینوکس/macOS:

    sudo cargo build --release

    در ویندوز: ممکن است نیاز به نصب Npcap (یا WinPcap قدیمی‌تر) داشته باشید. سپس می‌توانید با PowerShell یا Command Prompt به صورت Administrator اجرا کنید:

    cargo build --release

    بعد از اتمام بیلد گرفتن از پروزه فایل باینری در پوشه target و release ساخته می شود که با دستور زیر اجرا می شود

    ./Filtering-analysis
  3. بررسی خروجی: پس از اتمام عملیات، یک فایل json در همان دایرکتوری پروژه ایجاد خواهد شد که حاوی نتایج تحلیل بسته‌ها است. برنامه به صورت cli و خروجی به شکل ساده کنسولی در ترمینال نیز نمایش داده می‌شود

📄 License | لایسنس

This project is licensed under the MIT License.
این پروژه تحت لایسنس MIT منتشر شده است.

.

Repo Badge

About

Filtering Analysis Tool (ابزار تحلیل شبکه برای شناسایی فیلترینگ)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages