as we know the FCS is an end part of the Ethernet packet frame structure, and by checking the FCS part we can find that an error happened in data transfer or not. I have a question about FCS checking in ETHERNET II or DIX packet these frames don't have a packet length in their frame structure, what should I do if I faced with a packet that the correct FCS exists in a middle of data. for example, the packet have 512 byte's length at the byte 128 I see the correct FCS till byte 128 but actually some bytes are remaining, the worst case is at the end of the correct length I see the FCS error, besides the packet length is not mentioned in the frame structure what should i do ? I see this problem in Jumbo frame (802.3) Ethernet II and DIX
The FCS is always at the end of the frame. Since, as you've pointed out, there's no frame size indication for the most popular frame types, putting the FCS anywhere else in the frame destroys its structure.
Even if you're using jumbo frames the FCS is always at the very end.
Depending on where the frames originated, how it was generated or captured (as a bitstream?) it might be possible to have some garbage at the end. This you'll need to detect and remove yourself as the generator/capture process was faulty.
With an IP packet inside the frame and its Total Length field you'll have some indication on where the user data (SDU) stops and the FCS might start. Still, there's guessing involved.