更改程序IP地址
我有一个TCP客户端/服务器应用程序,我需要更改客户端IP地址。如果我打开客户端应用程序,它将建立与服务器的连接(客户端在服务器 - .exe文件中定义IP地址)。有什么方法可以定义我想连接的IP地址吗?我曾经用端口转发程序做过这个,但是它并不复杂,如果用户想连接,用户也需要使用这个程序。也许某种方式让客户获得他连接到正确IP的信息,但是他将连接到不同的应用程序中的某些他没有定义的内容。更改程序IP地址
但也许这只是根本不可能的:D。首先对于我的英语感到抱歉,我希望你能理解这一点,如果不让我知道,我会试着再解释一遍。感谢您的任何建议。
如果您知道在应用程序中编码的主机名(如果是通过主机名),则可以在主机文件中写入/重写条目。
你可能会发现,与etherial或wireshark(或其他数据包嗅探器)。
如果你有客户端和服务器应用程序,我很惊讶没有一个配置文件或设置,允许你改变这一点。如果它是一个配置文件,你可以重新写入该条目...
最简单的方法来处理这是通过客户端和服务器之间的合作。只需让客户端将希望使用的IP地址报告给服务器,并让服务器像来自该IP地址的连接一样工作。此方法由HTTP proxies使用,并且SMTP(电子邮件)使用了类似的方法。
由于您没有服务器或客户端的源代码,因此需要一些额外的工作。
您需要创建自己的客户端和服务器。你的客户端将连接到你的服务器,并告诉它它应该被视为连接的IP。你的服务器会记下这个。然后你的客户端将启动客户可执行文件。
您需要拦截来自服务器机器上客户端的连接。查找连接应该来自的IP地址。您需要挂接服务器可执行文件的接受逻辑来查看它应该看到的IP地址,而不是真实的IP地址。
所以流程是:
有人使用客户机启动客户端可执行文件,这是你必须做的可执行文件。
您的可执行文件连接到您必须制作的服务器应用程序,并告知它应该来自的IP地址。
您的服务器应用程序记录了真实的源IP地址和客户端告诉它的那个IP地址。
您的客户端应用程序启动常规客户端可执行文件,它会连接到服务器。
您在服务器上的代码拦截服务器可执行的代码来接受这个连接并代你存储在步骤3
我没有应用程序的源代码中的源IP地址。或者你是怎么意思的? U是否意味着在hosts文件中设置参数? – Koi
是的,它是应用MMF和C++制作的,但不是由我制作的。我没有它的源代码,我只有客户端和服务器的.exe文件。我希望现在很清楚。 – Koi
这听起来像是[XY问题](http://meta.stackexchange.com/a/66378/167586)。你认为这会完全解决什么问题? –