hardikghimire/project-tripundra

GitHub: hardikghimire/project-tripundra

基于 Linux io_uring 异步 I/O 机制的高性能端口扫描器,支持 TCP 状态机扫描、ARP 探测与原始数据包构造,适用于大规模并发网络侦察场景。

Stars: 1 | Forks: 0

# Project-tripundra ## 发送数据包 - **主要方法**:它使用 `io_uring_prep_sendmsg()` 进行异步 I/O - **替代方法**:`scan.cpp` 中的 `send_tcp_packets()` 函数使用 `sendmsg()` 系统调用 - **针对# Project-tripundra ## 发送数据包 - **主要方法**:使用 `io_uring_prep_sendmsg()` 进行异步 I/O - **替代方法**:`scan.cpp` 中的 `send_tcp_packets()` 函数使用 `sendmsg()` 系统调用 - **ARP 协议**:`send_arp_request()` 使用 `io_uring_prep_sendto()` 进行批量 ARP 请求 - **原始套接字**:通过 `socket(AF_INET, SOCK_RAW, IPPROTO_RAW)` 创建,用于构造自定义的 IP/TCP 头部 ## 接收数据包 - **主要方法**:`receive_response()` 使用 `io_uring_prep_recvmsg()` 进行异步接收 - **原始套接字**:通过 `socket(AF_INET, SOCK_RAW, IPPROTO_TCP)` 创建,用于接收 TCP 响应 - **ARP 协议**:`receive_arp_reply()` 使用 `io_uring_prep_recvmsg()` 进行 ARP 响应接收 - **非阻塞 I/O**:使用带有 `O_NONBLOCK` 标志的 `fcntl()` 将套接字设置为非阻塞模式 ## 处理与架构 - **通过 io_uring 实现异步 I/O**: - 发送环:`io_uring_queue_init()` 用于批量发送 - 接收环:`io_uring_queue_init()` 用于批量接收 - 超时:`io_uring_wait_cqe_timeout()` 用于处理响应超时 - 队列深度可通过 `--send-uring` 和 `--rcv-uring` 进行配置 ## 并发处理 - 使用 `moodycamel::ConcurrentQueue` 进行数据包任务排队 - 独立的发送线程用于数据包传输 - 使用 `std::atomic` 标志进行线程协调(`terminate_flag`) - 使用 `std::mutex` 进行输出同步(`cout_mutex`) ## 缓冲区管理 - 自定义 `PacketBufferPool` 用于内存池化 - 线程局部缓冲池以减少竞争 - 并发队列用于缓冲区重用 # 功能特性 - **智能 EMWA RTT**:带有重试机制的自适应增量 RTT(之前的 learn incremental RTT) - **状态机扫描**:通过正确的 4 次握手进行扫描(优雅的连接关闭) - **原始访问**:为教育目的提供了适当的原始数据包访问代码 - **SIGINT 处理**:紧急协议激活,通过实时保护防止扫描器崩溃 - **RAII**:当对象超出作用域时,使用 RAII 进行自动清理(异常安全的资源管理) - **输出**:以现代格式打印扫描输出 - **校验和操作**:用于测试的高级数学无效校验和模式及位操作 - **TCP 标志**:新增了两个 TCP 标志:ECE 和 CWR - **公共数据库**:支持两个公共数据库(Security Trials 和 Shodan InternetDB) - **DNS 解析**:提供灵活的 DNS 解析 ![EnlightenmentDiscordServerGIF](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5001779382172137.gif) # 默认扫描 # PublicDB 扫描 (--enum) # 调试响应 (--debug 为选项,packet 为类别) # 状态机扫描 # 状态机扫描握手
标签:ARP, C++, DNS解析, IO_URING, Raw Socket, TCP, 内存池, 内核API, 原始套接字, 并发编程, 开源项目, 异步I/O, 插件系统, 数据擦除, 数据泄露防护, 数据统计, 无锁队列, 端口扫描, 网络安全, 网络扫描器, 网络探测, 隐私保护