Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/knownsec/rtcp
利用 Python 的 Socket 端口转发,用于远程维护
https://github.com/knownsec/rtcp
Last synced: 23 days ago
JSON representation
利用 Python 的 Socket 端口转发,用于远程维护
- Host: GitHub
- URL: https://github.com/knownsec/rtcp
- Owner: knownsec
- Created: 2012-02-24T06:07:17.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2019-09-27T13:58:41.000Z (about 5 years ago)
- Last Synced: 2024-08-04T04:07:24.977Z (4 months ago)
- Language: Python
- Homepage:
- Size: 11.7 KB
- Stars: 709
- Watchers: 41
- Forks: 294
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
- awesome-hacking-lists - knownsec/rtcp - 利用 Python 的 Socket 端口转发,用于远程维护 (Python)
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