How to check a VPN using IP and DNS

A before-and-after checklist makes an unexpected result easier to isolate.

Short answer

Record your public IP, ISP, and observed DNS resolvers before connecting a VPN. Connect, repeat the checks, and compare. Expected changes show that those tested paths changed at that moment; they do not prove that every application is protected, that no traffic leaks, or that the VPN is secure.

Define what you expect the VPN to change

Before testing, read the provider’s documentation for the server or mode you selected. Record the expected exit country, whether IPv4 and IPv6 are carried, which DNS resolvers should be used, and whether split tunneling excludes any apps. Without an expected design, an unfamiliar result cannot be classified reliably.

Choose one browser or test app and keep the underlying Wi-Fi or mobile network fixed. Browser secure DNS and Android Private DNS can affect the resolver path, so note those settings rather than changing them in the middle of the baseline.

Record a baseline without the VPN

  1. Disconnect the VPN

    Wait for Android to report that the tunnel is no longer active. Keep the intended Wi-Fi or mobile network connected.

  2. Record public IPv4 and IPv6

    Note each available address family, network organization, and approximate country.

  3. Run a fresh DNS test

    Record every resolver organization and country shown, along with the app or browser used.

  4. Add the context

    Write down the time, network type, Android Private DNS state, and any browser secure-DNS setting.

The baseline is not a “bad” state. It is the reference that lets you see which observed paths the VPN changes.

Continue with How DNS works—and what a DNS leak test really shows, compare it with Why is my IP location wrong?, or use IP Finder for Android for the next practical step.

Connect the VPN and repeat under the same conditions

  1. Connect the chosen VPN server

    Wait until Android and the VPN app report the connection active.

  2. Rerun public-IP checks

    Check IPv4 and IPv6 separately where possible; record unavailable families as well as changed values.

  3. Rerun the DNS test

    Use the same browser or app and capture all resolver entries.

  4. Compare with documentation

    Match the exit region, protocol coverage, resolver policy, and split-tunneling behavior promised by the provider.

The protocol details in this guide follow VPN developer guide and RFC 1034 — Domain Names: Concepts and Facilities; use those primary specifications when you need exact terminology or edge-case behavior.

How to interpret the comparison

What a before-and-after result supports
ObservationSupported conclusionQuestion still open
Public IP changes to expected VPN networkThe tested public path presented the VPN exit sourceWhether every app and address family uses it
DNS changes to expected resolverThe test lookups reached expected resolver infrastructureWhether every app uses identical DNS behavior
IP changes but DNS remains on baseline providerPublic and DNS observations followed different expected or unexpected pathsPrivate DNS, browser DNS, split tunneling, or VPN policy
One address family remains unchangedThat family needs separate investigationWhether the VPN supports, blocks, or bypasses it

A result can be technically consistent with an intentional configuration. For example, a split-tunneled browser may keep the baseline path while another app uses the tunnel. Label the app used before calling the overall VPN broken.

Troubleshoot an unexpected IP or DNS result

  • Refresh or rerun the check after reconnecting; do not rely on a page loaded before the VPN connected.
  • Check IPv4 and IPv6 separately. One family can follow a different path.
  • Review app exclusions and split-tunneling rules in the VPN.
  • Check Android Private DNS and the test browser’s secure-DNS setting.
  • Try another VPN server while keeping the underlying network and test method fixed.
  • Compare with the provider’s current documentation and status information.
  • Send support the baseline, VPN result, time, device settings, and selected server if the mismatch persists.

What this check cannot certify

The comparison samples the public-IP and DNS behavior of the tools you ran. It does not inspect all device traffic, audit VPN cryptography, prove that every application follows the tunnel, detect every possible traffic leak, or establish anonymity. A provider can also operate expected infrastructure under names or locations that are not obvious in a third-party database.

See which DNS servers your network uses

Run a fresh DNS observation on Android and compare it with the resolver path you expected.

Get IP Finder

Common questions

What if the public IP does not change after connecting?
Confirm the VPN is active, refresh or rerun the test, check split tunneling, and compare IPv4 and IPv6 separately. If the result remains unchanged, consult the provider’s expected behavior with your recorded baseline.
What if the IP changes but DNS does not?
The public data path and DNS resolver path are related but distinct. Check Android Private DNS, browser secure DNS, VPN DNS settings, and split tunneling, then compare the resolver with the provider’s documentation.
Does passing the IP and DNS comparison prove there are no leaks?
No. It shows only that the checks you ran produced expected public-IP and resolver observations at that moment. It does not cover every app, protocol, tunnel property, or security vulnerability.

Sources

  1. VPN developer guide — Android Developers
  2. RFC 1034 — Domain Names: Concepts and Facilities — IETF

Repeat the comparison after the network changes

Save the context, switch Wi-Fi, mobile data, or VPN state, then run the matching IP Finder check again.

Get IP Finder