I want to make a process running under Wine believe that its machine's IP address is whatever IP address I specify. More specifically: I have set up several virtual interfaces on my machine. When I run a process under Wine, it by default uses the actual IP address of the machine, which is normal. But I want to force the process to be able to see and use only the virtual IP address that I specify, and not the real IP address of the machine.
Do you have any ideas on how to do this? I have been trying to go through the Wine source code, and have been looking in socket.c and iphlpapi_main.c, but I have not been able to find the right places to change to force Wine to use only one particular IP address.
The big idea is to run many copies of a Windows app on the same machine and make each copy think that it is running on a separate machine, each with its own IP address. Although VMWare or QEMU would make this possible, Wine is so much lighter that I could have many more copies of Wine running than VMWare. I imagine Wine would also be lighter than using Wine over Linux VServer or FreeBSD Jail... but I'm not quite sure.
Any ideas?
Thanks, Keshav