一个进程可以使用另一个进程创建的套接字吗?

发布于 2024-09-10 13:23:50 字数 230 浏览 4 评论 0原文

我想创建一个应用程序来获取 ipv4 tcp 表(当前使用 GetTcpTable() ),然后获取套接字(搜索特定 IP 地址)并从该连接中查看数据(它实际上也必须发送数据) 。

因此,我们在同一台计算机上有两个进程,一个进程连接到服务器,另一个进程利用该连接从中查看/发送数据。

是否可以使用另一个进程创建的套接字?

我正在为视频游戏编写一个附加应用程序,并且需要与游戏所连接的服务器“对话”。

I'd like to create an application that gets the ipv4 tcp table ( currently by using GetTcpTable() ), then gets a socket (searching for a particular IP address) and peeks data from that connection (it actually has to send data too).

So we have two processes on the same machine, one that has a connection to a server, and another one that exploits that connection to peek/send data from it.

Is it possible to use a socket created by another process?

I am writing an add-on application for a videogame, and need to "talk" to the server the game is connected to.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

池予 2024-09-17 13:23:50

一般来说,没有通用的方法可以做到这一点。一种方法可能是编写一个中间人进程(也称为“代理”),您可以在其中设置游戏连接到您的程序,然后连接到游戏服务器。游戏和服务器之间的所有通信都将通过您的应用程序,您可以随意检查和修改数据。

There is not, in general, a commonly available method to do this. One approach might be to write a man-in-the-middle process (also known as a "proxy"), where you set up the game to connect to your program, then you connect to the game server. All communications between the game and the server would then go through your application, and you can inspect and modify data at will.

深陷 2024-09-17 13:23:50

不,这是不可能的。

您能做的最好的事情就是为游戏服务器编写一个代理,然后让客户端连接到该代理。然后,与服务器的所有通信都将通过代理,并且您无论如何都可以注入自己的命令。

通常,游戏会使用 DNS 来查找服务器。因此,要创建代理,通常相当简单,只需为游戏的 DNS 添加条目并将其重定向到 127.0.0.1。启动您的代理以在与游戏服务器相同的端口上运行,将会发生的情况是游戏会将服务器的 DNS 解析为您的代理。

No it is not possible.

The best you could do is write a proxy for the game server and have the client connect to the proxy instead. Then, all communications to the server would go through the proxy and you'd be able to inject your own commands anyway.

Typically, the game would use DNS to find the server. So to create a proxy it's usually a fairly simple matter of adding an entry for the game's DNS and redirecting that to 127.0.0.1. Launch your proxy to run on the same port as the game server and what'll happen is that the game will resolve the server's DNS to your proxy instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文