NMEAdesync is a tool which will output NMEA sentences to stdout. Using socat you can redirect this output to NTPd and move time. NMEAdesync will be first prensented during a conference talk at BSidesCBR 2017.
NMEAdesync will send NMEA senetences with a spoof time to NTPd and also a spoofed PPS
NTPd using NMEA data over serial as the time, with PPS for accuarete timing. I set up a Pi using this guide.
- Configure the options in NMEAdesync.cfg
- Connect to the PPS wire to GPIO pint 25
- sudo rm /dev/gps0
- socat -d -d pty,raw,echo=0 "exec:/home/pi/NMEAdesync.py,pty,raw,echo=0"
- Note the pts number as will need to use it in the next step
- sudo ln -s /dev/pts/1 /dev/gps0
- Notice the time has changed
- Check pps sudo ppstest /dev/pps0