Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Looked around, couldn't find similar threads. If I missed anything, please forgive me.
Here is my setup.
1. I am using nemesis as a simulation tool for a distributed application.
2. For testing purposes, my distributed application basically listens to a UDP port (#50000) for incoming packets. When it receives the packets, it prints out the details to stdout. Packets can come from remote peers or from the localhost itself.
3. nemesis is used to simulate both the remote peers (10 of them) and the local host itself (which means the test host will receive a UDP packet on the network interface where the source and destination IP addresses are the same).
Here is my problem.
When both my test application and the nemesis program are run on the same platform (my Ubuntu laptop), everything works fine. All packets received are printed to stdout.
However, when the test application is run on a separate box (another Ubuntu platform), all except one packet are received by the test application.
I have verified the following:
- all packet contents are the same
- all destination IPs and ports are the same
- the receiving computer receives all packets, as per tcpdump
- the receiving application does not receive the UDP packet that pretends to be coming from the localhost itself.
Here is my question:
Why is the packet "pretending to be from the receiving host" not being handed over to the application?
Could it be that the network stack may be discarding packets that should have a source IP different than that of the local host itself?
Accepting packets that claim to be coming from the local host but actually come from another device on the network is a security vulnerability. It makes it possible for potential attackers (other people on the network) to send commands or information and have them appear to come from a trusted sender (localhost), so many devices, operating systems, or firewalls will just discard such packets. I don't know if Linux is one of those operating systems, but if you're running a firewall you might try turning the firewall off or setting it to allow this kind of thing.