Banning Users - Bad Packet Structure

So I’ve been wondering lately if its bad practice to ban a user if they send the server a bad packet structure. What I mean is this, if the server is looking for a 24 byte packet but the client only sends 10 would it be a good idea to ban the client for packet manipulation. I realize that with the UDP Packet structure this would be a bad practice, however for TCP would this be a way to negate exploitation because if someone even attempts to manipulate a packet, they would be banned instantly by the server.

What are your thoughts on this?

Most packets have variable length.

Also, if someone wants to manipulate packets, the common sense dictates that you must use the existing packet structure.