I use Mplayer for that. It's a 2 step process but works very well.
Here Mplayer is capturing a stream from Jack JM radio station and dumping the file to raw.pcm in my $HOME directory:
mplayer -cache 128 -vc dummy -vo null -ao pcm -aofile ~/raw.pcm http://220.127.116.11/JackFM?MSWMExt=.asf
Then I convert the raw.pcm file to jack_fm.mp3:
lame -b 32 -m m -f --tt "Broadcast_stream" --ta "Jack_FM" ~/raw.pcm ~/jack_fm.mp3
Lame even creates the tags for you. I use it with Cron to setup broadcasts that I want to record daily or weekly.