Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
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.
I learned how to create ICMP packets by reading the ping source code and the unix header files. I think you have to open a raw IP socket and build the ICMP header yourself.
traceroute doesn't use ICMP packets. It uses UDP packets and fudges the Time-To_live field in the header. The resaon that traceroute does not use ICMP is that it wants to report the normal path of traffic and ICMP packets sometimes get special treatment. traceroute does, however, listen for ICMP replies.
UNIX Network Programming The Sockets Networking API Volume 1 (Stevens, Fenner, Rudoff) devotes a chapter to creating and writing to raw sockets. Chapter 28 I believe.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.