Arduino and Ethernet Shield Power Supply
The problem is that when you are using the external 9V plug pack, you are relying on the Arduino's on-board regulator to provide the 5V power supply to both the Arduino and the Ethernet shield. This regulator has very limited current capacity &mdash; much less than the 500 mA that's available from a PC's USB port &mdash; and you're overloading it.

To avoid this problem, you should use a 5V plug pack with a USB connector to power your system.