capture packet through byte ?

Feb 23, 2011 at 7:18 AM

MY NEW START WITH PCAP, please guide : After you capture a packet, you can iterate over it's bytes

Coordinator
Feb 26, 2011 at 7:51 AM

You can iterate over the bytes by using foreach (byte b in packet) for example.

You can also use (for int i = 0; i != packet.Length; ++i) byte b = packet[i];

Mar 1, 2011 at 1:42 PM

Code:

  for (int i = 0; i != packet.Length; ++i)
                                {
                                    packetbyte = packet[i];
     
                             
                                }

I try to try to convert byte packet but the results I get is


51    51    0    0    0    12    0    34    25    240    87    252    134    221    96    0    0    0    0    154    17    1    254    128    0    0    0    0    0    0    40    194    3    34    214    69    249    88    255    2    0    0    0    0    0    0    0    0    0    0    0    0    0    12    199    155    7    108    0    154    249    189    77    45    83    69    65    82    67    72    32    42    32    72    84    84    80    47    49    46    49    13    10    72    111    115    116    58    91    70    70    48    50    58    58    67    93    58    49    57    48    48    13    10    83    84    58    117    114    110    58    77    105    99    114    111    115    111    102    116    32    87    105    110    100    111    119    115    32    80    101    101    114    32    78    97    109    101    32    82    101    115    111    108    117    116    105    111    110    32    80    114    111    116    111    99    111    108    58    32    86    52    58    73    80    86    54    58    76    105    110    107    76    111    99    97    108    13    10    77    97    110    58    34    115    115    100    112    58    100    105    115    99    111    118    101    114    34    13    10    77    88    58    51    13    10    13    10 

 

What do I do next to show for me, Can I see the code for reference!Thank you!

0000  33 33 00 00 00 0c 00 1d  72 c1 90 81 86 dd 60 00   33...... r.....`.
0010  00 00 00 9a 11 01 fe 80  00 00 00 00 00 00 e4 e8   ........ ........
0020  89 5a 16 e0 eb 0d ff 02  00 00 00 00 00 00 00 00   .Z...... ........
0030  00 00 00 00 00 0c f3 a0  07 6c 00 9a 33 8d 4d 2d   ........ .l..3.M-
0040  53 45 41 52 43 48 20 2a  20 48 54 54 50 2f 31 2e   SEARCH *  HTTP/1.
0050  31 0d 0a 48 6f 73 74 3a  5b 46 46 30 32 3a 3a 43   1..Host: [FF02::C
0060  5d 3a 31 39 30 30 0d 0a  53 54 3a 75 72 6e 3a 4d   ]:1900.. ST:urn:M
0070  69 63 72 6f 73 6f 66 74  20 57 69 6e 64 6f 77 73   icrosoft  Windows
0080  20 50 65 65 72 20 4e 61  6d 65 20 52 65 73 6f 6c    Peer Na me Resol
0090  75 74 69 6f 6e 20 50 72  6f 74 6f 63 6f 6c 3a 20   ution Pr otocol:
00a0  56 34 3a 49 50 56 36 3a  4c 69 6e 6b 4c 6f 63 61   V4:IPV6: LinkLoca
00b0  6c 0d 0a 4d 61 6e 3a 22  73 73 64 70 3a 64 69 73   l..Man:" ssdp:dis
00c0  63 6f 76 65 72 22 0d 0a  4d 58 3a 33 0d 0a 0d 0a   cover".. MX:3.... 

Coordinator
Mar 4, 2011 at 10:59 AM

The output you wrote in the bottom has 3 sections.

The left section is simply the offset of the bytes in hex.

The middle section are the bytes in hex.

The right section is the bytes in ASCII.

 

For the left section you simply need to convert the offset of the first byte in the row to hex.

For the middle section you need to convert each byte to hex.

For the right section you need to convert each byte to ASCII.

 

Converting to hex is usually done using BitConverter.

Converting to ASCII is done using Encoding.ASCII.GetString().

 

I hope this helps,

 

Boaz.