Tcp 更改程序IP地址

Tcp 更改程序IP地址,tcp,ip,tcpclient,Tcp,Ip,Tcpclient,我有一个TCP客户端/服务器应用程序,我需要更改客户端IP地址。若我打开客户端应用程序,它将与服务器建立连接(客户端内部定义了服务器-.exe文件的IP地址)。有什么方法可以定义要连接的IP地址吗?我曾经用端口转发程序做过一次,但它有点复杂,如果用户想要连接,也需要使用这个程序。也许客户端通过某种方式获得信息,表明他连接到了正确的IP,但他将连接到不同的IP,一些他在应用程序中没有定义的IP 但也许这是根本不可能的:D。首先对不起我的英语,我希望你能理解这一点,如果不让我知道,我会尝试解释多一点

我有一个TCP客户端/服务器应用程序,我需要更改客户端IP地址。若我打开客户端应用程序,它将与服务器建立连接(客户端内部定义了服务器-.exe文件的IP地址)。有什么方法可以定义要连接的IP地址吗?我曾经用端口转发程序做过一次,但它有点复杂,如果用户想要连接,也需要使用这个程序。也许客户端通过某种方式获得信息,表明他连接到了正确的IP,但他将连接到不同的IP,一些他在应用程序中没有定义的IP


但也许这是根本不可能的:D。首先对不起我的英语,我希望你能理解这一点,如果不让我知道,我会尝试解释多一点。谢谢你的建议

如果您知道应用程序中编码的主机名(如果是通过主机名),则可以在hosts文件中写入/重写条目

您可能可以通过etherial或wireshark(或其他数据包嗅探器)找到这一点


如果您同时拥有客户端和服务器应用程序,我很惊讶没有配置文件或设置允许您更改此设置。如果它是一个配置文件,您可以重新写入该条目…

最简单的处理方法是通过客户端和服务器之间的合作。只需让客户端向服务器报告它希望使用的IP地址,并让服务器像连接源自该IP地址一样工作。此方法用于,SMTP(电子邮件)也使用类似的方法

由于您没有服务器或客户端的源代码,因此需要进行一些额外的工作

您需要创建自己的客户端和服务器。您的客户端将连接到您的服务器,并告诉它应该从哪个IP进行连接。您的服务器会注意到这一点。然后,您的客户端将启动客户端可执行文件

您需要在服务器计算机上拦截来自客户端的连接。查找连接应该来自的IP地址。您需要钩住服务器可执行文件的接受逻辑,以查看它应该看到的IP地址,而不是实际的IP地址

因此,流程是:

  • 使用客户机的人启动客户机可执行文件,这是您必须创建的可执行文件

  • 您的可执行文件连接到您必须创建的服务器应用程序,并告诉它应该来自的IP地址

  • 您的服务器应用程序会记录真实的源IP地址和客户端告诉它的IP地址

  • 客户机应用程序启动常规客户机可执行文件,并与服务器建立连接

  • 服务器计算机上的代码截取服务器可执行文件的代码以接受此连接,并替换步骤3中存储的源IP地址


  • 我没有应用程序的源代码。或者你是什么意思?主机文件中的USET SET参数?是的,它是在MMF和C++中应用的,但不是我做的。我没有它的源代码,我只有客户端和服务器的.exe文件。我希望现在一切都清楚了。这听起来像是一场灾难。你认为这能解决什么问题呢?所以我需要在每台PC上都这样做,对吗?仅供记录,服务器应用程序将在VPS上。但我认为这是不相关的信息。如果有配置文件,你可以用适当的ip预先填充它,或者当你的用户抓取这对exe时,你可以给他们一个脚本来设置它。没有配置文件。只有一个exe文件(用于客户端)。是否有可能在c#中创建新的exe文件或包含此exe文件的内容,以及重写主机文件的脚本?或者你怎么想“当用户抓取exe时”?这不只是为了网络吗?我需要它用于.exe应用程序。@Koi否。HTTP、SMTP甚至许多通用代理都使用此方法。即使到目前为止,它只被用于网络,是什么阻止你将它用于任何你想要的目的?你可以使用亚马逊使用的。这对我来说似乎有点困难:D:/也许你能帮我解决这个问题?大概你问怎么做是因为你认为这是解决任何问题的最简单方法,但你没有告诉我们你有什么问题。既然你知道这并不容易,也许你可以告诉我们你的实际问题,这样我们就可以看看是否有更简单的方法来解决它。