7个不稳定版本 (3个重大更改)
0.4.1 | 2024年3月13日 |
---|---|
0.4.0 | 2024年2月26日 |
0.3.0 | 2024年2月25日 |
0.2.4 |
|
0.1.0 | 2023年6月28日 |
#1238 in 网络编程
389 每月下载次数
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