7个不稳定版本 (3个重大更改)

0.4.1 2024年3月13日
0.4.0 2024年2月26日
0.3.0 2024年2月25日
0.2.4 2024年2月25日
0.1.0 2023年6月28日

#1238 in 网络编程

Download history 116/week @ 2024-03-07 42/week @ 2024-03-14 3/week @ 2024-03-21 13/week @ 2024-03-28 21/week @ 2024-04-04

389 每月下载次数

MIT/Apache

8KB
139

ctf_tcp_helper

基于TCP的CTF的包装库

描述

用于管理CTF挑战中TCP连接的包装器。

用法

fn main() -> anyhow::Result<()> {
    let url = "challenge.com";
    let port = 4242;
    let mut tcp_handle = ctf_tcp_utils::TcpHandler::new(&url, port)?;
    let input = tcp_handle.read_to_string();
    println!("{input}");
    let answer = process(&input);
    println!("{answer}");
    tcp_handle.write_answer(&answer);
    let result = tcp_handle.read_to_string();
    println!("{result}");
    Ok(())
}

如果CTF需要在循环中重复相同的业务逻辑,您可以尝试

fn main()-> anyhow::Result<()> {
    let result: String = ctf_tcp_utils::CtfLoopResponder::new()
        .url("challenge.com")
        .port(4242)
        .timeout(250)
        .responder_func(|input| {
            // Insert logic here!
        })
        .connect_and_work()?;
        println!("{result}");
        Ok(())
}

依赖

~310–780KB
~18K SLoC