[null,null,["最后更新时间 (UTC):2025-08-21。"],[],[],null,["GNSS interference can be broken down into the following two categories:\n\n- Jamming\n- Spoofing\n\n*Jamming* attacks involve broadcasting strong radio signals in the same\nfrequency range as GNSS, which can drown out the relatively weaker signals\nbroadcast from the GNSS satellites. This can prevent GNSS receivers, including\nphones, from computing their location.\n\n*Spoofing* is a more sophisticated attack during which fake signals that pretend\nto be real GNSS signals are broadcast. These fake signals can fool a GNSS\nreceiver into computing a position or time that is very different from\nreality, which is enough to confuse mapping and navigation apps into giving\nusers wrong information.\n\nAbout GNSS spoofing or jamming\n\nSignal strength, or carrier-to-noise ratio (C/N0), of the signal as well as the\n[automatic gain control (AGC)](/reference/android/location/GnssAutomaticGainControl) of the GNSS radio in the phone can be a good\nindicator of interference.\n\nThe AGC tends to dip when spoofing or jamming is observed. When the radio\nreceives strong radio waves, it turns down the gain of the amplifier (AGC) to\nadjust the power of the received signal.\n**Figure 1.** AGC drops during interference (red area), and increases back to normal levels when interference is removed (green area). (Image source: https://doi.org/10.33012/navi.537)\n\nHowever, the behavior of C/N0 changes between jamming and spoofing events. For\njamming events, the noise observed by the radio is much stronger than normal ---\ntherefore, the denominator of the carrier-to-noise ratio increases, and the C/N0\nvalue drops. For spoofing, the reverse happens --- because a fake signal is being\nbroadcast that is loud enough to drown out the real signal from the satellite,\nthe overall signal strength is strong, and therefore the C/N0 increases.\n\nCheck for GNSS spoofing or jamming\n\nYou can use the **Spoof/Jam** tab in the [GnssLogger](https://play.google.com/store/apps/details?id=com.google.android.apps.location.gps.gnsslogger) app to\nexplore the impact of their environment on C/N0 and AGC in real-time.\n\nReal-time AGC and C/N0 plot\n\nThe **Spoof/Jam** tab displays a real-time graph of AGC and C/N0 for each GNSS\nconstellation and band (e.g., \"GPS L1\" or \"G:L1:\", \"Galileo E5a\" or \"E:E5A:\").\n**Figure 2.** AGC and C/N0 both drop when a phone is held next to a Wi-Fi router (red oval). The average top 3 signals for each constellation and band are shown as dashed lines. The AGC for each constellation and band, which is a single value, is shown as a solid line. The red circled section on the plot shows how both the AGC and C/N0 drop when the phone is held next to a Wi-Fi router, and therefore interference is observed.\n\nReal-time checks for spoofing and jamming\n\nBelow the real-time plot of AGC and [C/N0](http://c/N0), the app displays a\nseries of automated data checks that identify conditions related to GNSS\ninterference.\n**Figure 3.** Automated checks can identify conditions potentially caused by spoofing and jamming.\n\nIn the **Jamming checks** section, the app checks to see if the average of the\nmost recent 10 epochs of C/N0 and AGC have changed when compared to the previous\n50 epochs. If C/N0 and AGC decrease simultaneously, this can be a symptom of\nGNSS jamming. If this situation is detected, the card shows a FAIL message along\nwith more information:\n**Figure 4.** A failure indicating that conditions potentially caused by GNSS interference have been detected.\n\nThe first card in the **Spoofing checks** section also checks C/N0 and AGC, but\nlooks for a simultaneous **increase** in C/N0 and drop in AGC.\n\nThe second spoofing-related check looks for a difference over one second between\nthe GNSS time computed on the device and time retrieved over the Internet from a\nNetwork Time Protocol (NTP) server (network time - GNSS time). A large\ndifference can indicate that the computed GNSS time is not valid.\n\nTips, tricks, and caveats\n\nHere are some things to keep in mind when using the **Spoof/Jam** feature of\nGnssLogger:\n\n- This is an experimental feature --- as we learn more about the AGC characteristics on various Android devices, the exact algorithms used for spoofing and jamming changes may be updated.\n- This feature does not catch all spoofing and jamming --- The real-time graph and data checks make it easier to discover data properties in real-time, but aren't robust enough to detect every example of spoofing or jamming.\n- This feature is designed to detect a change in C/N0 and AGC --- if you open the app in the presence of spoofing or jamming and C/N0 and AGC remain constant, spoofing and jamming are not detected.\n- NTP servers are not necessarily secure --- Network time can be spoofed as well.\n\nProvide feedback on the **Spoof/Jam** feature using our [public issue\ntracker](https://issuetracker.google.com/issues/new?component=313183&template=0)."]]