Large ships and passenger boats are required to broadcast an identification signal containing position, course, speed, destination, and vessel dimension information to help prevent sea collisions. This system is known as the "Automatic Identification System" or AIS for short. There are dedicated AIS receivers intended to be used on boats, or by hobbyists, but they can be expensive. A radio scanner, or the cheap RTL-SDR software defined radio (or a more advanced SDR such an Airspy) can be used to receive these signals, and with the help of decoding software, ship positions can be plotted on a map.
This tutorial will show you how to set up an AIS receiver with the RTL-SDR. Most parts of this tutorial are also applicable to other software radios, such as the Funcube dongle, Airspy and HackRF, or even regular hardware scanners if a discriminator tap is used, but the RTL-SDR is the cheapest option.
Safety Warning: This probably should not be used a navigational aid on a boat as the field reliability of the RTL-SDR or other software radios is not proven. This guide is intended for land based scanner hobbyists.
Note, tracking ships with AIS is very similar to tracking aircraft with ADS-B, which is another project that may interest you.
Examples of AIS received with RTL-SDR
An AIS radar example is shown by YouTube user Vinicius Lenci who uses an RTL-SDR, SDRSharp and ShipPlotter. This video also shows what a strong AIS signal sounds like.