if one process does "connect(addr_a)"
is it possible for another process (on the same machine), to capture it
and change to "connect(addr_b)", and serve tunnelling transparently ?
thanks for your suggestion
You can do this with tsocks library on linux and with ProxifierPE on Windows.
Both solutions requires a functional Socks server
Yes, this is possible.
But how to do it depends on your operating system and it requires administrator rights to the machine. The most obvious way would be to use the advanced firewall capabilities for your favorite operating system.
Related
I am beginning to study the use of virtual machines with realtime applications, specifically network applications.
While I do understand the limitations and concerns, I'd like to get ideas as to how to get started on this task.
I am going to use a DPDK sample application over Linux, and probably use VMWare for starters. However, I do not know what my first steps with respect to setting up VMWare should be.
First I think it is better to use open source solution like QUEM/KVM for your virtualization platform. Many platform exist for run high performance network functions on virtualized platforms you can see OpenNetVM for example in order to get basic ideas.
On Windows, I've used NEWT in the past, but it's difficult to use, not current (but I can find old copies on non-MS sites), and difficult though possible to degrade just the app's view of the network without messing up everything else on the machine like the VPN connection and NAS volumes.
On Mac, the Network Link Conditioner that is available with Xcode is far too limited and in particular doesn't model bursts, which is my current immediate interest.
I'm also interested in Windows programs running in a VMware VM, and that's already going through an emulated network connector. I wonder if that can be made to do the traffic shaping?
In summary, can someone suggest a tool that I ought to be using for this?
I guess http://henrydu.com/blog/how-to/simulate-a-slow-link-by-linux-bridge-123.html should work on your mac. It uses traffic control with ifconfig, something you might want to google for.
With OpenStack's architecture, is it possible to, for instance, have a PowerPC64 (Altivec) machine, a Intel CoreDuo machine, and a ARMv6 all on the same cluster?
Or is this impossible, because of the restrictions in building buildpacks when deploying to multiple architectures?
EDIT: Whoops, I meant OpenStack, not OpenShift ;)
The answer above is correct (answer from developercorey).
Although whether this suits you depends on how its managed and what your trying to achieve. Typically when you add servers with different physical attributes such as CPU, Disk, Network cards etc you group them into different host aggregates.
By default when you launch a VM it will try and find a suitable host, but you can also tag it, so for example if your VM required alot of disk IO, you might want to place it on a host that has SSD drivers. So you can put those hosts into a 'SSD' aggregate, and then when launching your VM you can make sure it goes to a host in that aggregate.
If your just trying to make the most out of the hardware you have, then I don't see any issue by mixing them.
I don't think that they have to be, but I do believe that they only build packages for 1 or 2 architechtures, so I'm not sure how many options you really have there.
I am developping a cross-platform (Windows-Mac-Unix) application using Qt.
This is my first time using this framework so I am discovering it.
I need to ping a distant machine based on its IP address and I can't find a way to perform this task with the Qt framework, though it seems pretty basic...
I've found examples on the web but they use OS-dependant methods, which is precisely what I want to avoid since I have to run on different environments. Isn't there a simple ping command in the Qt framework? And how to use it?
Any help would be much appreciated, thank you in advance.
To my knowledge there is no direct way to ping another system in QT since it requires some superuser privileges in different Operating Systems. So the best way would be to try and establish a connection (preferably TCP) between the two machines.
I wish to learn the UNIX SHELL can someone provide me with services such as these? SSH/POP etc?
To expand on Zach's reply, I recommend getting a Live Distro that you can run from a CD/etc without installing to hard-drive. Perfect for playing about without affecting your existing OS.
Pick one from www.livecdlist.com - ordered by votes, so probably best to go for one near the top. :)
If you have a Windows PC and you can install software on it, try Cygwin This gives you a Unix environment and a bash shell.
Have you had a look around this list?
There are a number of public/open access Unix systems (e.g. SDF) that offer free accounts which are usually quite restrictive (paid accounts provide more "rights", disk space, bandwidth, and access to more services). It's probably better to grab a free distribution of a Unix or Unix-like operation system and install it on your own computer. That way, you can play "administrator" and get your hands dirty.
If you want to play around with the Unix environment without destroying your current install, you could try using virtualization. A program called VirtualBox can let you run x86 operating systems in a contained environment, and if things go wrong, just delete the virtual machine and reinstall.
Or if you want just a shell, you could try Rootshell, which will give you an OpenBSD based shell. For a Linux based shell, Polarhome, can do that, as well as give you some other operating systems to play around with.
In my personal opinion though, I would try VirtualBox, because if you are just learning the shell, a GUI will be helpful when you need to fix or check on something that you might not know how to do in the shell.