rtcp.py

利用 Python 的 Socket 端口转发,用于远程维护。「Use Python's Socket port forwarding for remote maintenance」

  • Owner: knownsec/rtcp
  • Platform: Linux, Mac, Windows
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

Main metrics

Overview
Name With Ownerknownsec/rtcp
Primary LanguagePython
Program languagePython (Language Count: 1)
PlatformLinux, Mac, Windows
License:
所有者活动
Created At2012-02-24 06:07:17
Pushed At2019-09-27 13:58:41
Last Commit At2019-09-27 21:58:40
Release Count1
Last Release Namev0.1.0 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count712
Watchers Count40
Fork Count290
Commits Count14
Has Issues Enabled
Issues Count9
Issue Open Count8
Pull Requests Count1
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private