# rtcp **Repository Path**: pine404/rtcp ## Basic Information - **Project Name**: rtcp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-25 - **Last Updated**: 2024-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rtcp.py ## 简介 * 利用 Python 的 Socket 端口转发,用于远程维护 * 如果连接不到远程,会 sleep 36s,最多尝试 200 次(即两小时) ## 用法 * ./rtcp.py stream1 stream2 * stream 为:l:port 或 c:host:port * l:port 表示监听指定的本地端口 * c:host:port 表示监听远程指定的端口 ## 使用场景 A 服务器在内网,公网无法直接访问这台服务器,但是 A 服务器可以联网访问公网的 B 服务器(假设 IP 为 222.2.2.2) 我们也可以访问公网的 B 服务器。我们的目标是访问 A 服务器的 22 端口。那么可以这样: * 在 B 服务器上运行:./rtcp.py l:10001 l:10002 + 表示在本地监听了 10001 与 10002 两个端口,这样,这两个端口就可以互相传输数据了 * 在 A 服务器上运行:./rtcp.py c:localhost:22 c:222.2.2.2:10001 + 表示连接本地的 22 端口与 B 服务器的 10001 端口,这两个端口也可以互相传输数据了 * 然后我们就可以这样来访问 A 服务器的 22 端口了:ssh -p 10002 222.2.2.2 + 原理很简单,这个命令执行后,B 服务器的 10002 端口接收到的任何数据都会传给 10001 端口 + 此时,A 服务器是连接了 B 服务器的 10001 端口的,数据就会传给 A 服务器,最终进入 A 服务器的 22 端口 # 贡献者 * watercloud * zd * kun * Knownsec R&D Team