For a userland application to get a RARP packet, you will probably have to use something like the Berkeley Packet Filter (or WinPcap on Windows) to sniff these packets. Or you could use an available sniffer such as tcpdump on *BSD or Linux:
tcpdump -w outfile rarp
On Solaris, you can use snoop:
snoop -o outfile rarp
On all platforms, you can use Ethereal or tethereal.
And there are also tools like arpwatch (ftp://ftp.ee.lbl.gov/) that can monitor ARP and RARP packets.