Decoding IP headers

In the Decoding Ethernet headers recipe, we created the got_packet() callback function that libpcap called for each packet that was captured. In this function, we showed you how to pull the Ethernet header information from the packet and created a switch statement that called different functions based on the protocol type. In that switch statement, we made a reference to a decodeIp() function that is used to decode the IP headers. In this recipe, we will create this decodeIp() function.

The IP header is a part of the second layer (Internet layer) of our header stack. Its structure is shown in the following diagram:

Decoding IP headers

The components ...

Get iOS and OS X Network Programming Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.