草庐IT

windows-7 - 捕获和重定向来自给定 ip :port to target ip:port 的传出流量

coder 2023-09-18 原文

关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

8 年前关闭。




Improve this question




在 Windows 7 上,我有一个 SSH 隧道在我需要访问的本地 127.0.0.1:34567 地址上运行,因此我可以在 SSH 代理的帮助下访问 12.34.56.78:8080,因为我无法直接访问该 IP(由于不在白名单中)。

因此,我的基本简单目标是,在 Windows 上,每当我从任何地方(例如我的浏览器)请求 12.34.56.78:8080 时,我都希望请求被透明地转移到 127.0.0.1:34567,并且我想要一个软件解决方案而不是硬件解决方案,如果可能的。我认为这是在 Linux 中通常通过称为 iptables 的东西实现的,但我正在寻找可以在 Windows 上使用的东西。

有谁知道这怎么可能?如果我需要为此使用任何外部 Windows 程序,那很好,但我更喜欢它是免费的。

编辑: 请不要向我展示反向隧道解决方案。我的目标是请求与我被阻止的相同 ip:port,但能够通过我现有的 SSH 隧道成功访问该 ip:port。反向隧道涉及请求一个不同的 ip:port,这不是我想要的(如果我想向不同的 ip:port 发出请求,我已经有了一个可以使用的正向隧道)。

示例场景: 假设您有一个 C 编译的 .exe 文件,您无权访问该文件的源代码是硬编码的,以请求 12.34.56.78:8000 用于 SOAP 网络服务。问题是,您的 IP 被该 ip:port 阻止,但您确实可以访问未被 210.212.239.117:8080 阻止的 SSH 服务器,并且还为该 SSH 服务器设置了一个 SSH 隧道以访问该 ip:port.. . 但是您的 .exe 具有原始的 ip:port 硬编码,因此您不能只告诉它请求 SSH 隧道 ip:port,因为由于它是硬编码的,因此无法以任何方式更改要请求的 ip:port !您必须将计算机上对 210.212.239.117:8080 的请求以某种方式转移到操作系统级别的 SSH 隧道。那你怎么做呢?

编辑 2: 我也不在寻找路由表(我认为)。我不想修改我的请求到达目标 ip:port 的路由;我实际上想让请求的 ip 和端口自己默默地改变。我有点想实现类似 hosts 文件的功能,除了不是将主机名解析为 ips,我希望将 ip:ports 重新解析为不同的 ip:ports。

赏金: 抱歉,我的这个 stackoverflow 问题似乎算作 Offtopic 并且不符合提供赏金的资格,因此对那些投入额外工作并可能获得赏金的人感到抱歉!

最佳答案

我还没有找到现成的可执行文件,但是 WFPSampler似乎很有希望。它使用新的 Windows 过滤平台 API(自 Windows Vista 起可用)来处理数据包。

要使用它来重定向传出数据包,请查看 Q&A section ,有很多例子。

关于windows-7 - 捕获和重定向来自给定 ip :port to target ip:port 的传出流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294700/

有关windows-7 - 捕获和重定向来自给定 ip :port to target ip:port 的传出流量的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  3. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  4. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

  7. ruby - 如果满足给定条件,则结束 ruby​​ 程序 - 2

    基本上,我只是试图在满足特定条件时停止程序运行其余行。unlessraw_information.firstputs"Noresultswerereturnedforthatquery"breakend然而,在程序运行之前我得到了这个错误:Invalidbreakcompileerror(SyntaxError)执行此操作的正确方法是什么? 最佳答案 abort("Noresultswerereturnedforthatquery")unlesscondition或unlessconditionabort("Noresultswer

  8. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  9. ruby - 如何计算自 Ruby 中给定日期以来的周数? - 2

    目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks

  10. ruby - 根据给定顺序对数字数组进行排序 - 2

    我有两个数组。第一个数组包含排序顺序。第二个数组包含任意数量的元素。我的属性是保证第二个数组中的所有元素(按值)都在第一个数组中,而且我只处理数字。A=[1,3,4,4,4,5,2,1,1,1,3,3]Order=[3,1,2,4,5]当我对A进行排序时,我希望元素按照Order指定的顺序出现:[3,3,3,1,1,1,1,2,4,4,4,5]请注意,重复是公平的游戏。A中的元素不应更改,只能重新排序。我该怎么做? 最佳答案 >>source=[1,3,4,4,4,5,2,1,1,1,3,3]=>[1,3,4,4,4,5,2,1,1

随机推荐