Search code examples
c#packet-capturesharppcap

SharpPcap - A Packet Capture problem to extract information from the packet


I'm using SharpPcap to capture packets.

I'm trying to get Traffic Class value and I'm using udp.ipv6.TrafficClass.ToString().

the problem that I'm getting this exception:

Object reference not set to an instance of an object.

private void packetCapturingThreadMethod()
{

   Packet packet = null;

   while ((packet = device.GetNextPacket()) != null)
   {
        packet = device.GetNextPacket();

        if (packet is UDPPacket)
        {
            UDPPacket udp = (UDPPacket)packet;

            MessageBox.Show(udp.ipv6.TrafficClass.ToString());
        }
   }
}

Solution

  • That exception means that either udp, udp.ipv6 or udp.ipv6.TrafficClass is null. You need to check:

    if (udp != null && udp.ipv6 != null && udp.ipv6.TrafficClass != null)
    {
        MessageBox.Show(udp.ipv6.TrafficClass.ToString();
    }