Ethernet Shield assigning wrong ip.

So, I'm new to arduino but I figure setting up an ethernet shield shouldn't be complicated.
I got one from Radio Shack and only ever got the shield to return 0.0.0.0 or an address that was completely wrong when trying to assign a static IP.

I exchanged it for another. For about an hour of troubleshooting the new shield refused to do anything past Ethernet.Begin(). After much research I inserted an SD card and finally the Serial Monitor returned a proper failure response when Ethernet.Begin() was run. I then removed the SD card and finally got an IP address!

Here is the problem:

While running the "Web Server" and setting an IP of:

IPAddress ip(192, 168, 1, 177);

When run the serial monitor replies:

server is at 129.160.2.171

When I think back this is likely the same address that sometimes displayed in the original ethernet shield.

Also, running "DHCP-based IP printer" code always yields failure to get an address.

Is it possible Radio Shack got an entire batch of bad ethernet shields or am I missing something here?

The newer Radio Shack ethernet shields have a w5200 ethernet controller rather than a w5100. Is that the model you have? If it is, you must download and import the w5200 library and change the include in the sketch.

Change the include to this.
#include <EthernetV2_0.h>

BINGO!! Thank you! I was at wits end.

Side note: The Serial Monitor refused to print anything until I inserted an SD card. Once in, it worked! If I take it back out it returns 0.0.0.0. I'm certainly ok with keeping it in at the moment but just FYI to future readers.

Thanks again!