c で pcap ライブラリを使用していくつかのパケットをキャプチャしました。今、私はpythonプログラムを使用して、保存されたパケットファイルを読み取ります。しかし、ここで問題があります。最初にpkthdr(lybraryが提供)を持ち、次に実際のパケットを持つファイルがあります。pkthdr のフォーマットは -
struct pcap_pkthdr {
struct timeval ts; /* time stamp 32bit */ 32bit
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};
今私はlenフィールドを読みたいので、timevalとcap lenをスキップし、pythonを使用してバイナリ形式でlenフィールドを出力しました..私が得たバイナリコードは- 01001010 00000000 00000000 00000000ですそれは正しい値(大きすぎる)だと思います、実際のlenフィールド値は74バイトでなければなりません(wiresharkでチェックしてください)..だから私が間違っていることを教えてください..よろしくお願いします