以下の pcap コールバックの宣言があるとします。
void my_callback(u_char *args, const struct pcap_pkthdr *header, const u_char *packet)
パケット内に存在する合計バイト数を確認する方法は? crc32() 関数に渡すことができるように、その値が必要です。
このリファレンスによると、パケットのサイズに関する情報はpcap_pkthdr
の構造にあります
情報はpcap_pkthdr
変数にあります。
コールバックが与えられると、完全なパケット サイズは次のようになります。
header->len
キャプチャされたパケット サイズ (たまたま実際のパケット サイズよりも小さい snaplen を設定した場合は小さくなる可能性があります) は、次の式で与えられます。
header->caplen