I already know the answer for my problem, and I am going to explain that, I hope It could be useful for anyone.
The answer is that I was wrong, my protocol is "raw CAN", not CAN ISO-15765. So, when I monitor the bus (AT MA / ST MA) I see packets with a very particular structure: 4bytes for header and then the data, which is not the structure defined in ISO-15765.
Otherwise, when I do a request for a specific PID, what I am obtaining are OBD packets, not CAN packets, which have a specific structure:
18 DA F1 10 04 41 23 0D AC 00 00 00:
18 = priority (5 bits: 00011000)
DA = physical addresing
F1 = Target Address
10 = Source Address (ECU)
41 = Mode 01: 40 + 01
23 = PID
0D AC 00 00 00: Data
The OBD packets may contain the same information as raw CAN packets (speed, RPM, etc.) but expressed in a different way, much easier to understand than in raw CAN where the structure and the headers are defined by every manufacturer.