Ethernet.localIP() doesn't return an array of uint8_t values, it returns a single uint32_t value. So the first thing to do is store that in a variable:
uint32_t ipAddress = Ethernet.localIP();
You should then create a uint8_t pointer and have that point to the first byte in ipAddress:
uint8_t *ipPtr = (uint8_t*) &ipAddress;
You can then access the 4 values needed using ipPtr[0], ipPtr[1], ipPtr[2], and ipPtr[3].
Another option would be to use a union.