O'Reilly logo

iOS and OS X Network Programming Cookbook by Jon Hoffman

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Constructing a Ping packet with libnet

In this recipe, we will construct an ICMP (Ping) packet and inject it into the network. The device that receives the packet should respond back with an ICMP response packet. However, libnet is a packet construction and an injection library, not a packet capture library, so we will use Wireshark (http://www.wireshark.org) to see the packets that we send out and the packet that is returned. In Chapter 4, Using Libpcap, we will see how to capture packets.

In order to create an ICMP packet and inject it into the network, we will need to create an ICMP header and an IP header. The IP header and the corresponding libnet_build_ipv4() function were covered in the Introduction section of this chapter, so we will not ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required