ping an ip address

IPAddress ip(127,0,0,1);         //Fall back IP address

Very bad choice for the fallback IP address. You won't ever get a ping result using this IP address.

Ethernet.begin() should be called in the setup() routine and before any other method of the Ethernet object.

BTW, your code is not pinging anything. What serial output do you get?