1

パケット スニッフィングに libpcap を使用しています。Wireshark で行うように、パケットの内容を HEX で出力したいと考えています。それ、どうやったら出来るの?TCP セグメントの 21 バイト目の HEX 値 (オプションの 1 バイト目、通常は MSS の場合は 0x02) を出力したいとします。

4

1 に答える 1

1

これを試して:

char data[]; // byte array with packet content;
int start; // starting offset 
int end; // ending offset

int i;

for (i = start & ~15; i < end; i++)
{
    if  ((i & 15) == 0) 
       printf("%04x ",i);
    printf((i<start)?"   ":"%02x%c",(unsigned char)data[i],((i+1)&15)?' ':'\n');
}
if ((i & 15) != 0)
    printf("\n");

オフセットから開始してオフセットまでの提供されたdataバッファの部分を出力します。startend

于 2012-10-21T19:06:17.107 に答える