Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
RustTLSX — 🦀 Rust용 스텔스 HTTP 클라이언트. 감지되지 않는 요청을 위해 실제 브라우저 TLS 지문을 모방합니다. 빠르고, 타입 안전하며, 정밀한 네트워킹을 위해 설계되었습니다. | Kitploit
도구/GitHubGitHub/d0rb/rusttlsx
IDS/IPS EvasionInformation GatheringWeb SecurityPenetration TestingPrivacyCrawlerAnti-BotFingerprint Spoofing
GitHubd0rb/rusttlsx

RustTLSX

🦀 Rust용 스텔스 HTTP 클라이언트. 감지되지 않는 요청을 위해 실제 브라우저 TLS 지문을 모방합니다. 빠르고, 타입 안전하며, 정밀한 네트워킹을 위해 설계되었습니다.

저장소 보기
2311개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RustTLSX 🦀

. Rust를 위한 고급 스텔스 HTTP 클라이언트입니다.

네트워크 핑거프린트를 완벽하게 제어해야 하는 프라이버시 중시 개발자를 위해 제작되었습니다.

브라우저처럼 보입니다. 브라우저처럼 동작합니다. Rust로 작성되었습니다.

Crates.io Documentation License

크레딧 및 기반

bogdanfinn/tls-client 기반으로 구축됨 - 전 세계 보안 전문가들이 신뢰하는 업계 최고의 TLS 핑거프린팅 라이브러리입니다. FFI 바인딩을 통해 bogdanfinn의 전투 검증된 공유 라이브러리(.dll/.so/.dylib)를 사용하는 이유는 다음과 같습니다:

  • 수년간의 연구: 브라우저 TLS 동작 복제를 완성하기 위한 수천 시간의 노력
  • 입증된 실적: 전 세계 보안 기업과 프라이버시 도구에서 프로덕션 환경으로 사용 중
  • 지속적인 업데이트: 진화하는 브라우저 핑거프린트에 맞춘 정기 업데이트
  • 성능 최적화: 최대 속도를 위한 네이티브 C/Go 구현

RustTLSX는 이 검증된 기술을 Rust에 적용하여 Python 대안보다 6배 빠른 타입 세이프하고 사용하기 편리한 API를 제공합니다.

RustTLSX가 필요한 이유

최신 웹 애플리케이션은 HTTP 요청의 모든 측면을 분석합니다. 헤더와 쿠키뿐만 아니라 TLS 핸드셰이크의 심층 암호화 서명까지 분석합니다. 표준 Rust HTTP 클라이언트(reqwest, hyper, ureq)는 자동화된 트래픽을 즉시 식별하는 쉽게 탐지 가능한 패턴을 생성합니다.

RustTLSX는 다음을 제공하여 이 문제를 해결합니다:

  • 완벽한 브라우저 모방: 실제 브라우저의 정품 TLS 핑거프린트
  • 요청 수정 제어: 헤더, 쿠키 및 타이밍에 대한 세밀한 제어
  • 프라이버시 중심 설계: 트래픽이 합법적인 브라우저 세션으로 표시됨
  • 성능 우위: 대체 솔루션보다 훨씬 빠름

핵심 기능

프라이버시 및 요청 제어

  • 실제 브라우저 신원: Chrome, Firefox, Safari 및 Opera TLS 서명의 완벽한 복제
  • 헤더 조작: 요청 헤더, 사용자 에이전트 및 accept 파라미터에 대한 완전한 제어
  • 쿠키 관리: 영구 쿠키 지원을 통한 고급 세션 처리
  • 타이밍 제어: 구성 가능한 요청 간격 및 연결 풀링
  • 프로토콜 선택: 브라우저와 정확히 일치하는 기본 설정으로 HTTP/1.1 및 HTTP/2 지원

성능 이점

  • Python보다 6배 빠름: 가능한 경우 제로카피 연산을 사용하는 네이티브 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를 통해 액세스할 수 있는지 확인하세요.

설치

Cargo.toml에 RustTLSX를 추가하세요:

[dependencies]
rust-tlsx = "0.1"

기본 사용법

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개 이상의 브라우저 프로필을 지원합니다:

// 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

고급 사용법

사용자 정의 헤더 및 쿠키

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 요청

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

요청 시간 제한

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

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

아키텍처 및 설계 철학

bogdanfinn의 공유 라이브러리를 사용하는 이유

RustTLSX는 바퀴를 재발명하는 대신 입증된 우수성의 기반 위에 구축되었습니다. FFI를 통해 bogdanfinn의 컴파일된 라이브러리(.dll/.so/.dylib)를 사용하는 이유는 다음과 같습니다:

연구 투자: Bogdanfinn은 브라우저 TLS 동작을 리버스 엔지니어링하는 데 수천 시간을 투자했습니다. 이 연구를 재현하려면 수년이 걸리고 결과물의 품질도 떨어질 가능성이 높습니다.

전투 검증된 신뢰성: 이 라이브러리는 전 세계 주요 보안 기업, 프라이버시 도구 및 연구 기관에서 사용됩니다. 모든 주요 보호 시스템에 대해 테스트되었습니다.

지속적인 진화: 브라우저 핑거프린트는 끊임없이 변화합니다. Bogdanfinn의 라이브러리는 새로운 브라우저 버전과 보호 시스템 업데이트에 맞춰 정기적으로 업데이트됩니다.

성능 최적화: 네이티브 C/Go 구현은 속도와 메모리 효율성을 위해 대폭 최적화되어 순수 Rust 구현이 따라올 수 없는 성능을 제공합니다.

기술 구현

런타임 동적 로딩: FFI를 사용하여 라이브러리를 온디맨드로 로드하므로 정적 링킹의 복잡성을 제거하면서 성능을 유지합니다.

메모리 관리: Rust의 소유권 모델은 네이티브 라이브러리와의 안전한 상호 작용을 보장하여 C/C++ 구현에서 흔한 메모리 누수 및 use-after-free 버그를 방지합니다.

오류 처리: 포괄적인 Result 기반 오류 처리는 타입 안전성을 유지하면서 상세한 진단 정보를 제공합니다.

연결 관리: 브라우저와 정확히 일치하는 동작 패턴으로 TLS 연결을 지능적으로 풀링하고 재사용합니다.

처리되는 핑거프린트 구성 요소

기반 라이브러리는 브라우저 TLS 동작의 모든 측면을 관리합니다:

  • 암호화 스위트 순서: 브라우저 암호화 기본 설정의 정확한 복제
  • TLS 확장 처리: 모든 TLS 확장에 대한 올바른 순서 및 값
  • HTTP/2 설정: 브라우저 동작과 일치하는 프레임 처리 및 설정
  • 인증서 검증: 브라우저와 정확히 일치하는 인증서 체인 검증
  • 세션 관리: 올바른 TLS 세션 재개 및 티켓 처리
  • ALPN 협상: 브라우저와 일치하는 ALPN(Application-Layer Protocol Negotiation)

예제

기본 HTTP 요청

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 핑거프린트 검증

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(())
}

인증 요청

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(())
}

프라이버시 중심 웹 스크래핑

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(())
}

고급 요청 수정

use rust_tlsx::{TlsClient, BrowserProfile};
use std::collections::HashMap;
도구 다운로드