Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RustTLSX — 🦀 عميل HTTP خفي للغة Rust. يحاكي بصمات TLS الحقيقية للمتصفحات لإرسال طلبات غير قابلة للاكتشاف. سريع، وآمن الأنواع، ومصمم للشبكات الدقيقة. | Kitploit
أدوات/GitHubGitHub/d0rb/rusttlsx
التهرب من IDS/IPSجمع المعلوماتأمن الويباختبار الاختراقالخصوصيةزاحف الويبمكافحة الروبوتاتانتحال البصمة الرقمية
GitHubd0rb/rusttlsx

RustTLSX

🦀 عميل HTTP خفي للغة Rust. يحاكي بصمات TLS الحقيقية للمتصفحات لإرسال طلبات غير قابلة للاكتشاف. سريع، وآمن الأنواع، ومصمم للشبكات الدقيقة.

عرض المستودع
منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

RustTLSX 🦀

. عميل HTTP متخفٍّ متقدم للغة Rust.

مبني للمطورين المهتمين بالخصوصية الذين يحتاجون تحكمًا كاملًا في بصمة شبكاتهم.

يبدو مثل المتصفح. يتصرف مثل المتصفح. مكتوب بلغة Rust.

Crates.io Documentation License

الاعتمادات والأساس

مبني على bogdanfinn/tls-client - مكتبة بصمة TLS الرائدة في الصناعة والتي يثق بها خبراء الأمن حول العالم. نستخدم المكتبات المشتركة المجرَّبة من bogdanfinn (.dll/.so/.dylib) عبر روابط FFI للأسباب التالية:

  • سنوات من البحث: آلاف الساعات في إتقان محاكاة سلوك TLS في المتصفحات
  • سجل حافل: تُستخدم في بيئات الإنتاج من قبل شركات أمنية وأدوات خصوصية حول العالم
  • تحديثات مستمرة: تحديثات منتظمة لمواكبة بصمات المتصفحات المتطورة
  • أداء مُحسَّن: تنفيذ أصلي بلغة C/Go لتحقيق أقصى سرعة

يجلب RustTLSX هذه التقنية المُثبتة إلى Rust مع واجهة برمجة تطبيقات (API) آمنة الأنواع وسهلة الاستخدام، وهي أسرع 6 مرات من بدائل Python.

لماذا يوجد RustTLSX

تحلل تطبيقات الويب الحديثة كل جانب من جوانب طلبات HTTP الخاصة بك - ليس فقط الترويسات وملفات تعريف الارتباط، بل التوقيعات التشفيرية العميقة لمصافحة TLS. تولّد عملاء HTTP القياسية في Rust (reqwest وhyper وureq) أنماطًا يسهل اكتشافها تحدد الحركة الآلية فورًا.

يحل RustTLSX هذه المشكلة عبر تقديم:

  • محاكاة مثالية للمتصفح: بصمات TLS أصيلة من متصفحات حقيقية
  • التحكم في تعديل الطلبات: تحكم دقيق في الترويسات وملفات تعريف الارتباط والتوقيت
  • الخصوصية بالتصميم: تظهر حركة مرورك كجلسات متصفح مشروعة
  • الريادة في الأداء: أسرع بشكل ملحوظ من أي حل بديل

القدرات الأساسية

الخصوصية والتحكم في الطلبات

  • هوية متصفح أصيلة: محاكاة مثالية لتوقيعات TLS لمتصفحات Chrome وFirefox وSafari وOpera
  • معالجة الترويسات: تحكم كامل في ترويسات الطلبات ووكلاء المستخدم ومعاملات Accept
  • إدارة ملفات تعريف الارتباط: معالجة متقدمة للجلسات مع دعم ملفات تعريف الارتباط الدائمة
  • التحكم في التوقيت: فواصل طلبات قابلة للتهيئة وتجميع اتصالات
  • اختيار البروتوكول: دعم HTTP/1.1 وHTTP/2 مع تفضيلات مطابقة للمتصفح

مزايا الأداء

  • أسرع 6 مرات من Python: أداء Rust أصلي مع عمليات نسخ صفري حيثما أمكن
  • كفاءة الذاكرة: حمل إضافي ضئيل مقارنةً بعملاء HTTP القياسية
  • طلبات متزامنة: محسّنة لسيناريوهات الإنتاجية العالية
  • إعادة استخدام الاتصالات: تجميع اتصالات ذكي يطابق سلوك المتصفح

الميزات المتقدمة

  • أكثر من 30 ملف تعريف متصفح: مجموعة واسعة من بصمات المتصفحات الحقيقية
  • أمان الأنواع: ضمانات كاملة لوقت الترجمة في Rust مع معالجة شاملة للأخطاء
  • متعدد المنصات: دعم لأنظمة Windows وLinux وmacOS
  • تجاوز الحماية: كأثر جانبي للمحاكاة المثالية، يتجاوز أنظمة الكشف

بدء سريع

المتطلبات الأساسية

حمّل مكتبة عميل TLS المطلوبة لمنصتك من إصدارات tls-client:

  • Windows: tls-client-windows-64-1.3.3.dll
  • Linux: tls-client-linux-ubuntu-amd64-1.3.3.so
  • macOS: tls-client-darwin-amd64-1.3.3.dylib

ضع ملف المكتبة في جذر مشروعك، أو في مسار مكتبات النظام (/usr/local/lib/)، أو تأكد من أنه متاح عبر PATH.

التثبيت

أضف RustTLSX إلى ملف Cargo.toml الخاص بك:

root@kitploit:~
[dependencies]
rust-tlsx = "0.1"

الاستخدام الأساسي

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120)
        .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
        .timeout(30);
    
    let response = client.get("https://example.com")?;
    
    println!("Status: {}", response.status);
    println!("Body: {}", response.body);
    
    Ok(())
}

ملفات تعريف المتصفح المتاحة

يدعم RustTLSX أكثر من 30 ملف تعريف متصفح عبر المتصفحات الرئيسية:

root@kitploit:~
// Chrome versions
BrowserProfile::Chrome103
BrowserProfile::Chrome107  
BrowserProfile::Chrome109
BrowserProfile::Chrome120

// Firefox versions
BrowserProfile::Firefox102
BrowserProfile::Firefox105
BrowserProfile::Firefox108
BrowserProfile::Firefox120

// Safari versions
BrowserProfile::Safari15_6_1
BrowserProfile::Safari16_0
BrowserProfile::SafariIos16_0

// Opera and others
BrowserProfile::Opera89
BrowserProfile::Opera90

الاستخدام المتقدم

ترويسات وملفات تعريف ارتباط مخصصة

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Chrome109)
    .header("Accept", "application/json")
    .header("Accept-Language", "en-US,en;q=0.9")
    .cookie("session", "abc123")
    .cookie("token", "xyz789");

let response = client.get("https://api.example.com")?;

طلبات POST

root@kitploit:~
let body = r#"{"username": "user", "password": "pass"}"#;
let response = client.post("https://example.com/login", Some(body.to_string()))?;

مهلات الطلبات

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Firefox120)
    .timeout(60); // seconds

let response = client.get("https://slow-api.example.com")?;

البنية وفلسفة التصميم

لماذا نستخدم المكتبات المشتركة لـ bogdanfinn

بُني RustTLSX على أساس من التميز المُثبت بدلاً من إعادة اختراع العجلة. نستخدم المكتبات المترجمة من bogdanfinn (.dll/.so/.dylib) عبر FFI للأسباب التالية:

الاستثمار البحثي: استثمر Bogdanfinn آلاف الساعات في الهندسة العكسية لسلوك TLS في المتصفحات. تكرار هذا البحث سيستغرق سنوات ومن المرجح أن يُنتج نتائج أقل جودة.

موثوقية مُختبَرة ميدانيًا: تُستخدم هذه المكتبات من قبل شركات أمنية كبرى وأدوات خصوصية ومؤسسات بحثية حول العالم. لقد خضعت للاختبار ضد جميع أنظمة الحماية الرئيسية.

تطور مستمر: تتغير بصمات المتصفحات باستمرار. تتلقى مكتبات Bogdanfinn تحديثات منتظمة لمواكبة إصدارات المتصفحات الجديدة وتحديثات أنظمة الحماية.

تحسين الأداء: التنفيذ الأصلي بلغة C/Go محسّن بشكل كبير من حيث السرعة وكفاءة الذاكرة، مما يوفر أداءً لا يمكن لتنفيذات Rust الخالصة مضاهاته.

التنفيذ التقني

التحميل الديناميكي في وقت التشغيل: تُحمَّل المكتبات عند الحاجة باستخدام FFI، مما يلغي تعقيد الربط الثابت مع الحفاظ على الأداء.

إدارة الذاكرة: يضمن نموذج الملكية في Rust التفاعل الآمن مع المكتبات الأصلية، مانعًا تسرب الذاكرة وأخطاء الاستخدام بعد التحرير (use-after-free) الشائعة في تنفيذات C/C++.

معالجة الأخطاء: توفر معالجة شاملة للأخطاء قائمة على Result تشخيصات مفصلة مع الحفاظ على أمان الأنواع.

إدارة الاتصالات: تجميع ذكي وإعادة استخدام لاتصالات TLS بأنماط سلوك مطابقة للمتصفح.

مكونات البصمة المُدارة

تدير المكتبات الأساسية كل جانب من جوانب سلوك TLS في المتصفح:

  • ترتيب مجموعات التشفير: محاكاة دقيقة لتفضيلات تشفير المتصفح
  • معالجة امتدادات TLS: ترتيب وقيم صحيحة لجميع امتدادات TLS
  • إعدادات HTTP/2: معالجة الإطارات والإعدادات التي تطابق سلوك المتصفح
  • التحقق من الشهادات: تحقق من سلسلة الشهادات بدقة مطابقة للمتصفح
  • إدارة الجلسات: استئناف جلسات TLS ومعالجة التذاكر بشكل صحيح
  • تفاوض ALPN: مفاوضة بروتوكول طبقة التطبيقات بما يطابق المتصفحات

أمثلة

طلب HTTP أساسي

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Chrome109);
    let response = client.get("https://httpbin.org/get")?;
    
    println!("Status: {}", response.status);
    println!("Body: {}", response.body);
    
    Ok(())
}

التحقق من بصمة TLS

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120);
    let response = client.get("https://tls.peet.ws/api/all")?;
    
    println!("TLS Fingerprint Analysis:\n{}", response.body);
    
    Ok(())
}

الطلبات المُصادق عليها

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Chrome109)
        .header("Authorization", "Bearer YOUR_TOKEN")
        .header("Content-Type", "application/json");
    
    let response = client.get("https://api.example.com/data")?;
    
    match response.status {
        200 => println!("Success: {}", response.body),
        401 => eprintln!("Authentication failed"),
        _ => eprintln!("Request failed with status {}: {}", response.status, response.body),
    }
    
    Ok(())
}

تجريف الويب الموجه للخصوصية

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    // Create a client that appears as a real Firefox browser
    let client = TlsClient::new(BrowserProfile::Firefox120)
        .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
        .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")
        .header("Accept-Language", "en-US,en;q=0.5")
        .header("Accept-Encoding", "gzip, deflate, br")
        .header("DNT", "1") // Privacy-focused: Do Not Track
        .timeout(30);
    
    // Include session cookies for authenticated requests
    let client = client.cookie("session_id", "your_session_token");
    
    let response = client.get("https://example-site.com/data")?;
    
    match response.status {
        200 => println!("Data retrieved successfully with browser-like privacy"),
        403 => println!("Authentication required - check session cookies"),
        _ => println!("Response: {}", response.status),
    }
    
    Ok(())
}

تعديل الطلبات المتقدم

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};
use std::collections::HashMap;

fn main() -> anyhow::Result<()> {
    // Simulate a specific browser environment
    let mut headers = HashMap::new();
    headers.insert("User-Agent".to_string(), 
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36".to_string());
    headers.insert("Sec-Fetch-Site".to_string(), "same-origin".to_string());
    headers.insert("Sec-Fetch-Mode".to_string(), "navigate".to_string());
    headers.insert("Sec-Fetch-Dest".to_string(), "document".to_string());
    
    let client = TlsClient::new(BrowserProfile::Chrome120)
        .headers(headers)
        .timeout(45);
    
    // Make request that's indistinguishable from real browser
    let response = client.get("https://api.example.com/sensitive-data")?;
    
    println!("Retrieved data with perfect browser mimicry");
    println!("Protocol used: {}", response.used_protocol);
    
    Ok(())
}

لماذا يتفوق RustTLSX على جميع البدائل

مقارنة عملاء HTTP في Rust

يقدم RustTLSX أداءً وخصوصية فائقين مقارنةً بجميع عملاء HTTP القياسية في Rust:

مزايا الأداء التقني

عمليات النسخ الصفري: استدعاءات FFI المباشرة لمكتبات C/Go المحسّنة تلغي نسخ البيانات غير الضروري الذي يعاني منه تنفيذات Rust الخالصة.

تجميع الاتصالات: إعادة استخدام ذكية لاتصالات TLS مع سلوك keep-alive مطابق للمتصفح، مما يقلل الحمل الإضافي للمصافحة بنسبة تصل إلى 80%.

كفاءة الذاكرة: يؤدي نموذج الملكية في Rust إلى جانب المكتبات الأصلية المحسّنة إلى استخدام ذاكرة أقل بنسبة 40% مقارنةً بالحلول المكافئة في Python.

الأداء المتزامن: دعم async أصلي مع تعدد إرسال اتصالات مناسب يتوسع خطيًا مع عدد نوى المعالج.

مقارنة اللغات

مقابل روابط Python لـ tls-client:

  • معالجة طلبات أسرع من 6 إلى 10 مرات
  • نشر بملف ثنائي واحد (بدون بيئة تشغيل Python)
  • أمان في وقت الترجمة (بدون أخطاء أنواع في وقت التشغيل)
  • استهلاك موارد أقل (ذاكرة أقل بنسبة 50-70%)

مقابل tls-client في Go:

  • مزايا أمان الأنواع (نموذج الملكية في Rust)
  • معالجة أخطاء أفضل (أنواع Result مقابل الاستثناءات)
  • ضمانات أمان الذاكرة (بدون حمل جمع القمامة الإضافي)
  • تكامل مع النظام البيئي (سير عمل سلس عبر Cargo/crates.io)

مقابل حلول Node.js:

  • بدون حمل V8 الإضافي (تنفيذ أصلي مباشر)
  • أداء قابل للتنبؤ (بدون توقفات جمع القمامة)
  • نموذج تزامن أفضل (تزامن منظم مقابل دوال الاستدعاء)

التثبيت

الخطوة 1: تحميل مكتبة TLS

حمّل الملف الثنائي المناسب من إصدارات tls-client:

  • Windows: tls-client-windows-64-1.3.3.dll
  • Linux: tls-client-linux-ubuntu-amd64-1.3.3.so
  • macOS: tls-client-darwin-amd64-1.3.3.dylib

ضع ملف المكتبة في جذر مشروعك، أو في دليل مكتبات النظام، أو تأكد من أنه متاح عبر PATH.

الخطوة 2: إضافة التبعية

root@kitploit:~
[dependencies]
rust-tlsx = "0.1"
anyhow = "1.0"

الخطوة 3: التنفيذ الأساسي

root@kitploit:~
use rust_tlsx::{TlsClient, BrowserProfile};

fn main() -> anyhow::Result<()> {
    let client = TlsClient::new(BrowserProfile::Firefox120);
    let response = client.get("https://example.com")?;
    println!("Status: {}", response.status);
    Ok(())
}

مرجع API

TlsClient

واجهة العميل الرئيسية لإرسال طلبات HTTP ببصمات TLS شبيهة بالمتصفح.

root@kitploit:~
impl TlsClient {
    pub fn new(profile: BrowserProfile) -> Self
    pub fn header(self, key: &str, value: &str) -> Self
    pub fn headers(self, headers: HashMap<String, String>) -> Self
    pub fn cookie(self, name: &str, value: &str) -> Self
    pub fn cookies(self, cookies: Vec<CookieInput>) -> Self
    pub fn timeout(self, seconds: i32) -> Self
    pub fn get(&self, url: &str) -> Result<Response>
    pub fn post(&self, url: &str, body: Option<String>) -> Result<Response>
}

BrowserProfile

تعداد لملفات تعريف بصمات المتصفح المتاحة:

root@kitploit:~
pub enum BrowserProfile {
    // Chrome versions
    Chrome103, Chrome104, Chrome105, Chrome106,
    Chrome107, Chrome108, Chrome109, Chrome120,
    
    // Firefox versions  
    Firefox102, Firefox104, Firefox105, Firefox106,
    Firefox108, Firefox120,
    
    // Safari versions
    Safari15_6_1, Safari16_0,
    SafariIpad15_6, SafariIos15_5, SafariIos15_6, SafariIos16_0,
    
    // Opera versions
    Opera89, Opera90, Opera91,
}

Response

بنية استجابة HTTP تُرجعها طرق العميل:

root@kitploit:~
pub struct Response {
    pub status: i32,                              // HTTP status code
    pub used_protocol: String,                    // Protocol used ("h2" or "http/1.1")
    pub body: String,                             // Response body content
    pub headers: HashMap<String, Vec<String>>,    // Response headers
    pub cookies: HashMap<String, String>,         // Set-Cookie values
}

استكشاف الأخطاء وإصلاحها

مشكلات تحميل المكتبة

الخطأ: Failed to load library: cannot find tls-client-*.dll

الحلول:

  1. ضع ملف المكتبة في دليل جذر مشروعك
  2. أضف موقع المكتبة إلى PATH في نظامك
  3. انسخه إلى دليل مكتبات النظام (/usr/local/lib/ على Linux وmacOS)
  4. تحقق من البنية الصحيحة (64-bit مقابل 32-bit)

استجابات رفض الوصول (403)

حتى مع بصمات TLS الأصيلة، قد تكون هناك عوامل إضافية مطلوبة:

المكونات المطلوبة:

  • User-Agent: يجب أن يطابق ملف تعريف المتصفح المحدد
  • ملفات تعريف ارتباط الجلسة: رموز تصريح أو جلسة صالحة
  • ترويسات الطلب: مجموعة ترويسات كاملة شبيهة بالمتصفح
  • توقيت الطلبات: تجنّب الطلبات المتتابعة السريعة

مثال كامل:

root@kitploit:~
let client = TlsClient::new(BrowserProfile::Firefox120)
    .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0")
    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    .header("Accept-Language", "en-US,en;q=0.5")
    .header("Accept-Encoding", "gzip, deflate, br")
    .header("Connection", "keep-alive")
    .header("Upgrade-Insecure-Requests", "1");

البناء من المصدر

root@kitploit:~
git clone https://github.com/yourusername/rust-tlsx
cd rust-tlsx

# Download required TLS library
wget https://github.com/bogdanfinn/tls-client/releases/download/v1.3.3/tls-client-windows-64-1.3.3.dll

# Build the project
cargo build --release

# Run tests
cargo test
cargo run --example simple_request

المساهمة

المساهمات مرحب بها! يرجى الاطلاع على CONTRIBUTING.md للحصول على الإرشادات.

مجالات للتحسين:

  • إدارة الجلسات وملفات تعريف الارتباط الدائمة
  • دعم الوكيل (HTTP/SOCKS)
  • إنشاء ملفات تعريف TLS مخصصة
  • أمثلة استخدام إضافية
  • دعم Async/await
  • معالجة أخطاء وتشخيصات محسّنة

الترخيص

مرخّص بموجب أحد الخيارين التاليين:

  • رخصة MIT
  • رخصة Apache، الإصدار 2.0

تستخدم مكتبة عميل TLS الأساسية رخصة BSD-4-Clause.

المشاريع ذات الصلة

  • tls-client (Go) - التنفيذ الأصلي
  • tls-client (Python) - روابط Python
  • curl-impersonate - حل قائم على cURL

الدعم

  • المشكلات: GitHub Issues
  • النقاشات: GitHub Discussions
  • التوثيق: docs.rs
تنزيل الأداة
LibraryTLS FingerprintPerformancePrivacy LevelMemory Usage
reqwest + rustlsDetectable Rust signatureBaselineLowHigh
reqwest + native-tlsSystem TLS (detectable)BaselineLowHigh
hyper + hyper-tlsGeneric HTTP/2FastLowMedium
ureqBasic TLS 1.2/1.3SlowLowLow
rust-tlsxPerfect browser mimicry6x fasterMaximumOptimized